# Author punctuation in Biblatex bibliography

I'm looking to remove the comma between author first name and surname in the bibliography. To come out as:

Vincent C, Amalberti R. (2015) LaTeX works so well. BMJ 25(1):370-81

Vincent, C, Amalberti, R. (2015) LaTeX works so well. BMJ 25(1),370-81

I've tried \renewcommand*{\revsdnamepunct}{} (as suggested at biblatex: remove commas between last and first names in bibliography) but with no success.

Is my other code clashing somehow? Thanks for any advice.

    \documentclass[11pt,a4paper,twoside,openright]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[english]{babel}
\usepackage[autostyle]{csquotes}

\usepackage[backend=biber,style=apa,natbib,
uniquename=false,
uniquelist=false,
firstinits=true,
terseinits=true,
dashed=false
sorting=nyt,
backref=true,
hyperref=auto,
isbn=false,
url=false,
eprint=false,
doi=false]{biblatex}

% Omit commas in reversed names
\renewcommand*{\revsdnamepunct}{}

% All names reversed
\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{sortname}{last-first}

% Remove full stop after year

% Omit "and" from last author
\AtBeginBibliography{%
}

\DeclareLanguageMapping{english}{english-apa}

% Make article title a hyperlink to the DOI
\newbibmacro{string+doi}[1]{%
\iffieldundef{doi}{#1}{\href{http://dx.doi.org/\thefield{doi}}{#1}}}
\DeclareFieldFormat{title}{\usebibmacro{string+doi}{\mkbibemph{#1}}}
\DeclareFieldFormat[article]{title}{\usebibmacro{string+doi}{#1}}

\AtEveryBibitem{%
\clearname{translator}%
\clearlist{publisher}%
\clearfield{pagetotal}%
\clearfield{note}%
}

% no "In: " preceding journal titles
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}

\begin{document}

This is where I \parencite{Vincent2015}.

\printbibliography
\end{document}

• This is really helpful - I've upvoted and accepted, but my votes aren't displayed yet – leumsa Feb 4 '16 at 13:38
• Mhh, interesting, I think because of reputation reasons you cannot yet up-vote the answer, but accepting it should be possible anyway. Maybe try again ... – moewe Feb 4 '16 at 17:36

Compulsory "we are modifying biblatex-apa" warning: The following will probably alter the behaviour of biblatex-apa in a way that the output might not conform to APA style any more. biblatex-apa is specifically designed to follow APA style as closely as possible, so some (supposedly) easy modifications can require more code than expected.

Note first that biblatex-apa has a very special name format and that your two lines

% All names reversed
\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{sortname}{last-first}


do nothing.

The macro in charge of names name:apa:last-first (to be renamed in future versions) does not use \revsdnamepunct, the separators there are hard-coded. You need to go to the source directly and modify the macro there.

With

\renewbibmacro*{name:apa:last-first}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\ifblank{#4}{}{%
\mkbibnameprefix{#4}%
\mkbibnamelast{#1\isdot}%
\ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{#3}\isdot%
\ifthenelse{\value{uniquename}>1}
{}}%
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibnamelast{#1}\isdot
\ifblank{#2#4}{}{\revsdnamepunct}%
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#3}%
\ifthenelse{\value{uniquename}>1}
{}}%
\ifblank{#4}{}{%


you restore the ability to use \revsdnamepunct, so that \renewcommand*{\revsdnamepunct}{} now works as expected.

MWE

\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage[autostyle]{csquotes}

\usepackage[backend=biber,style=apa,
uniquename=false,
uniquelist=false,
firstinits=true,
terseinits=true,]{biblatex}

\DeclareLanguageMapping{english}{english-apa}

% Omit commas in reversed names
\renewcommand*{\revsdnamepunct}{}

\renewbibmacro*{name:apa:last-first}[5]{%
\ifuseprefix
{\usebibmacro{name:delim}{#4#1}%
\usebibmacro{name:hook}{#4#1}%
\ifblank{#4}{}{%
\mkbibnameprefix{#4}%
\mkbibnamelast{#1\isdot}%
\ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{#3}\isdot%
\ifthenelse{\value{uniquename}>1}
{}}%
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
\mkbibnamelast{#1}\isdot
\ifblank{#2#4}{}{\revsdnamepunct}%
\ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#3}%
\ifthenelse{\value{uniquename}>1}

• This answer, of course, really only applies to biblatex-apa with the standard styles \revsdnamepunct should work out of the box and with other custom styles there might be other modifications necessary. At first I thought about making a feature request for biblatex-apa to use \revsdnamepunct by default, but I can see that the issue is a bit more delicate. – moewe Jan 31 '16 at 8:39