Ähnlich zudieser Beitragmöchte ich die Autorenliste in einer Zitierung auf ein + et al. beschränken (auch wenn die Autorenteams unterschiedlich sein können). Die vorgeschlagene Lösung ( uniquelist=false
) funktioniert grundsätzlich auch, aber es gibt ein Problem, wenn man sie in Kombination mit verwendet citestyle=authoryear-comp
. Wenn in der Bibliographie derselbe (erste) Autor einmal mit ausgeschriebenem Vornamen und einmal nur mit seinen Initialen erscheint, werden sie nicht als derselbe Autor behandelt. In einer Zitierungsliste citestyle=authoryear-comp
werden die Zitierungen also getrennt, obwohl . Hier ein Beispiel:
\documentclass{article}
\usepackage[
citestyle=authoryear-comp,
maxcitenames=1,
giveninits=true,
uniquename=init,
uniquelist=false,
ibidtracker=context,
%
bibstyle=authoryear,
dashed=false, % dashed: substitute rep. author with ---
date=year,
sorting=nyt,
minbibnames=3,
hyperref=true,
backref=true,
citecounter=true,
citetracker=true,
natbib=true, % natbib compatibility mode (\citep and \citet still work)
backend=biber, % Compile the bibliography with biber
]{biblatex}
\usepackage{filecontents}
\usepackage{hyperref}
\begin{filecontents}{\jobname.bib}
@misc{ABC01,
author = {Author, A. and Buthor, B. and C},
year = {2001},
title = {Alpha},
}
@misc{ABC02,
author = {Author, A. and Buthor, B. and Cuthor, C., and Duthor, D.},
year = {2001},
title = {Beta},
}
@misc{ADE01,
author = {Author, Andrew and Duthor, D. and E},
year = {2001},
title = {And now for something completely different},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \citep{ABC01, ABC02, ADE01}.
Some text \autocite{ADE01}.
\printbibliography
\end{document}
Ich habe versucht, dieses Verhalten zu beheben, indem ichdieser Beitragund Einstellung giveninits=true
und uniquename=init
, aber das hat das Problem nicht gelöst. Wie kann ich biblatex
behandelnAutor, A.UndAutor, Andrewals derselbe Autor?
Antwort1
Ab biblatex
v3.20 können Sie angeben, biblatex
dass zum Hashen nur Initialen verwendet werden sollen, was hier ausreichen würde, oder Sie können den Namens-Hash lokal durch eine eindeutige „Namens-ID“ überschreiben.
Wenn Sie nur Initialen für das Hashing verwenden möchten, wählen Sie
\documentclass{article}
\usepackage[
backend=biber,
style=authoryear-comp,
maxcitenames=1,
giveninits=true,
uniquename=init,
uniquelist=false,
]{biblatex}
\usepackage{hyperref}
\DeclareNamehashTemplate{
\namepart[hashscope=full]{family}
\namepart[hashscope=init]{given}
\namepart[hashscope=full]{prefix}
\namepart[hashscope=full]{suffix}
}
\begin{filecontents}{\jobname.bib}
@misc{ABC01,
author = {Author, A. and Buthor, B. and C},
year = {2001},
title = {Alpha},
}
@misc{ABC02,
author = {Author, A. and Buthor, B. and Cuthor, C., and Duthor, D.},
year = {2001},
title = {Beta},
}
@misc{ADE01,
author = {Author, Andrew and Duthor, D. and E},
year = {2001},
title = {And now for something completely different},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{ABC01, ABC02, ADE01}.
Some text \autocite{ADE01}.
\printbibliography
\end{document}
Wenn Sie das Hashing überschreiben möchten, verwenden Sie
\documentclass{article}
\usepackage[
backend=biber,
style=authoryear-comp,
maxcitenames=1,
giveninits=true,
uniquename=init,
uniquelist=false,
]{biblatex}
\usepackage{hyperref}
\begin{filecontents}{\jobname.bib}
@misc{ABC01,
author = {id=A1, family=Author, given=A. and Buthor, B. and C},
year = {2001},
title = {Alpha},
}
@misc{ABC02,
author = {id=A1, family=Author, given=A. and Buthor, B. and Cuthor, C. and Duthor, D.},
year = {2001},
title = {Beta},
}
@misc{ADE01,
author = {id=A1, family=Author, given=Andrew and Duthor, D. and E},
year = {2001},
title = {And now for something completely different},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \autocite{ABC01, ABC02, ADE01}.
Some text \autocite{ADE01}.
\printbibliography
\end{document}
Alte Antwort
Sie müssen irgendwie davon überzeugen, biblatex
dass Author, A.
und Author, Andrew
dieselbe Person sind. Eine Problemumgehung besteht darin, für die Einträge, bei denen ist , ein shortauthor
„Gleich wie“ anzugeben .Author, A.
author
Author, Andrew
\documentclass{article}
\usepackage[
backend=biber,
style=authoryear-comp,
maxcitenames=1,
minbibnames=3,
giveninits=true,
uniquename=init,
uniquelist=false,
dashed=false
date=year,
backref=true,
citecounter=true,
]{biblatex}
\usepackage{hyperref}
\begin{filecontents}{\jobname.bib}
@misc{ABC01,
author = {Author, A. and Buthor, B. and C},
year = {2001},
title = {Alpha},
}
@misc{ABC02,
author = {Author, A. and Buthor, B. and Cuthor, C., and Duthor, D.},
year = {2001},
title = {Beta},
}
@misc{ADE01,
author = {Author, Andrew and Duthor, D. and E},
shortauthor = {Author, A. and Duthor, D. and E},
year = {2001},
title = {And now for something completely different},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \parencite{ABC01, ABC02, ADE01}.
Some text \autocite{ADE01}.
\printbibliography
\end{document}