26

I am new to biblatex, and I need to create a bibliography with the authors' names with last names followed by pure initials. Using the style=numeric, firstinits and terseinits options along with:

\DeclareNameAlias{author}{last-first}

I come up with a list of names that looks like:

Doe, J, Smith, K, and Doe, W"

How can I remove the commas between the last name and the initial of the first name?

2 Answers 2

29

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}

enter image description here

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}
2
  • @lockstep: I just saw your solution and used it in my .tex file, works well in the end, but no matter what I do, I keep getting the error : Undefined control sequence. argument> \bibnamedelimd \mkbibnamefirst {Patrick}\isdot Patrick is in that case the firstname of the author. I keep getting this error for every first-/lastname. What should I do? Sorry, I have just started working with Biblatex...
    – user11928
    Feb 20, 2012 at 19:02
  • \bibnamedelimd was introduced in biblatex version 1.3. Try to update your TeX distribution.
    – lockstep
    Feb 20, 2012 at 19:13
1

You can use \bibliographystyle{Vancouver} as well for removing the commas

2
  • 3
    Please note that \bibliographystyle{Vancouver} is a BibTeX-based solution, while the question and other answer are using biblatex.
    – moewe
    Dec 1, 2019 at 12:22
  • Noted with Thanks
    – umar
    Dec 1, 2019 at 15:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .