EDIT: Since biblatex
v2.2, one may simply issue \renewcommand*{\revsdnamepunct}{}
in the document preamble.
\documentclass{article}
\usepackage[firstinits=true,terseinits=true]{biblatex}
\DeclareNameAlias{default}{last-first}
\renewcommand*{\revsdnamepunct}{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, Aaa and Buthor, Bbb and Cuthor, Ccc},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
ORIGINAL ANSWER: Redefine the bibmacro name:last-first
.
\documentclass{article}
\usepackage[firstinits=true,terseinits=true]{biblatex}
\DeclareNameAlias{default}{last-first}
\renewbibmacro*{name:last-first}[4]{%
\ifuseprefix
{\usebibmacro{name:delim}{#3#1}%
\usebibmacro{name:hook}{#3#1}%
\ifblank{#3}{}{%
\ifcapital
{\mkbibnameprefix{\MakeCapital{#3}}\isdot}
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
% \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% NEW
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibnamelast{#1}\isdot
\ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
% \ifblank{#2#3}{}{\addcomma}% DELETED
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
\ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, Aaa and Buthor, Bbb and Cuthor, Ccc},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\end{document}
Pasing the uniquename=init
option to biblatex
produces:
with the authors distinguished by their initials. uniquename
accepts a number of other options to disambiguate references. See the biblatex
documentation.
If you wish to get
with trailing initials instead then just add
\DeclareNameAlias{labelname}{family-given}
to your preamble. However, as you note this adds initials to all citations. To print initials only for those citations that need disambiguation, use
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
instead. This code is a simple modification of of the format declaration for labelname
provided by the standard file biblatex.def
with each instance of name:given-family
replaced by name:family-given
.
Here is a complete file with its output:
\documentclass{article}
\usepackage[style=authoryear-comp,maxcitenames=2,maxbibnames=10,
url=false,doi=false,isbn=false,dashed=false,
giveninits=true,uniquename=init]{biblatex}
\DeclareNameAlias{sortname}{family-given}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:family}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\or
\ifuseprefix
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffixi}}
{\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefixi}
{\namepartsuffixi}}%
\or
\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
\fi
\usebibmacro{name:andothers}}
\begin{filecontents}{biblio.bib}
@article{smithaa,
title = {Some title},
year = {2000},
author = {Smith, Aaron A and Meyer, M and Fitzgerald, F},
journal = {Some journal}
}
@article{smithaz,
title = {Another title},
year = {2000},
author = {Smith, Anton Z and Smith, A A and Doe, John},
journal = {Another journal}
}
@article{differentxy,
title = {Just something else},
year = {2003},
author = {Different, Jason J and Person, Other O and Human, Another A},
journal = {Different Journal}
}
\end{filecontents}
\addbibresource{biblio.bib}
\begin{document}
\parencites{smithaa}{smithaz}.
\parencite{differentxy}.
\printbibliography
\end{document}
The above code is for biblatex 3.4
or newer, for older versions my previously posted code is
\documentclass{article}
\usepackage[style=authoryear-comp,maxcitenames=2,maxbibnames=10,
url=false,doi=false,isbn=false,dashed=false,
firstinits=true,uniquename=init]{biblatex}
\DeclareNameAlias{sortname}{last-first}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:last}{#1}{#3}{#5}{#7}%
\or
\ifuseprefix
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
\or
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
\fi
\usebibmacro{name:andothers}}
\begin{filecontents}{biblio.bib}
@article{smithaa,
title = {Some title},
year = {2000},
author = {Smith, Aaron A and Meyer, M and Fitzgerald, F},
journal = {Some journal}
}
@article{smithaz,
title = {Another title},
year = {2000},
author = {Smith, Anton Z and Smith, A A and Doe, John},
journal = {Another journal}
}
@article{differentxy,
title = {Just something else},
year = {2003},
author = {Different, Jason J and Person, Other O and Human, Another A},
journal = {Different Journal}
}
\end{filecontents}
\addbibresource{biblio.bib}
\begin{document}
\parencites{smithaa}{smithaz}.
\parencite{differentxy}.
\printbibliography
\end{document}
Best Answer
Did you have something like this in mind?
You will need
xpatch
for some macro redefinition shortcuts.I was not too sure about your
\DeclareNameFormat{author}
, in particular\ifthenelse{\iffieldequalstr{usere}{unkauth}\OR\iffieldequalstr{usere}{unkauthdate}
, so I did not copy that.The following makes sure that
biblatex
uses parentheses instead of square brackets.Makes sure that the author names and "and" are printed bold only in the bibliography.
\DeclareFieldFormat[article]{volume}{\mkbibbold{#1}}
is for bold volume numbers in articles.Adds the year after the authors (see the comment regarding punctuation). As of now, the full date is repeated as per usual in
numeric
; if you want to change that, you could look into whatbiblatex
does inauthoryear
with\bbx@opt@mergedate@<...>
.The MWE
produces