Similar aesta publicación, Me gustaría limitar la lista de autores en una cita a uno + et al. (incluso si los equipos de autores pueden ser diferentes). La solución propuesta ( uniquelist=false
) esencialmente también funciona, pero hay un problema al usarla en combinación con citestyle=authoryear-comp
. Si en la bibliografía el mismo (primer) autor aparece una vez con su nombre escrito, y una vez solo con sus iniciales, no se les trata como el mismo autor. Entonces, en una lista de citas, aunque citestyle=authoryear-comp
, las citas estarán separadas. He aquí un ejemplo:
\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}
Intenté solucionar este comportamiento siguiendoesta publicacióny configurar giveninits=true
y uniquename=init
, pero eso no resolvió el problema. ¿Cómo puedo llegar biblatex
a tratar?Autor, A.yAutor, Andréscomo el mismo autor?
Respuesta1
A partir de biblatex
v3.20, puede indicar biblatex
que solo use iniciales para el hash, lo cual sería suficiente aquí, o puede anular localmente el hash del nombre con un "ID de nombre" único.
Si desea que solo se utilicen las iniciales para el hash, vaya con
\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}
Si desea anular el hash, vaya con
\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}
Antigua respuesta
Necesitarías una forma de convencerlo biblatex
y Author, A.
eres Author, Andrew
la misma persona. Una solución alternativa es dar un shortauthor
igual a Author, A.
para aquellas entradas donde author
está 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}