3

Some publishers prefer the APA citation style in a modified way and do not want any initials for authors' and editors' names in the bibliography. According to the biblatex-apa handbook, this is made possible by using the firstinits=false option. Unfortunately this does not work for me:

\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[style=apa,natbib=true,firstinits=false]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\usepackage{filecontents}

\begin{filecontents*}{Test.bib}
  @Article{Andrews1990,
  Title = {{D}oes correctional treatment work? {A} clinically relevant and psychologically informed meta-analysis},
  Author = {Andrews, Don A. and Zinger, Ivan and Hoge, Robert D. and Bonta, James and Gendreau, Paul and Cullen, Francis T.},
  Journal = {Criminology},
  Pages = {369-404},
  Volume = {28},
  Year = {1990},
  }
\end{filecontents*}

\addbibresource{Test.bib}
\usepackage{babel}
\begin{document}
\selectlanguage{ngerman}
\nocite{Andrews1990}
\printbibliography
\end{document}

This produces the standard APA formatting:

Bibliography

4
  • Please help us to help you and add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}.
    – user31729
    Commented Jul 11, 2014 at 16:31
  • MWE added above. Commented Jul 11, 2014 at 21:28
  • I'm afraid this is by design. APA style only uses initials and so there is no conditional code in the style to respond to the full name options. This would also require passing different options to biber for disambiguation etc.
    – PLK
    Commented Jul 16, 2014 at 15:52
  • @PLK: I agree APA style only uses initials. But if I got that right, according to its manual biblatex-apa does not completely stick to the original APA style, which is said to be "not entirely consistent", in each and every case. So what is the purpose of the firstinits=false option? Commented Jul 17, 2014 at 12:41

2 Answers 2

4

This isn't possible in the biblatex-apa style. firstinits is a generic biblatex option which doesn't really fit into the APA style and so APA specific things have to be done in the style itself. For example, full names are sometimes given in a very APA-specific format, see APA examples in section 6.27 of the APA manual. Supporting these means it is very hard if not impossible to support a generic firstinits option. I often get requests to make the APA style support other options but it's meant to be an APA style and this means the code has to do specific APA things which make genericity impossible in some areas. You can always override style code to make it do what you want - that's the nice thing about biblatex.

1

Looking at the apa.bbx file, the section that seems responsible for this is:

% #1 = last name
% #2 = first name
% #3 = first name (initials)
% #4 = name prefix, a.k.a. 'von part'
% #5 = name affix, a.k.a. 'junior part'

\newbibmacro*{name:apa:family-given}[5]{%
  \ifuseprefix
    {\usebibmacro{name:delim}{#4#1}%
     \usebibmacro{name:hook}{#4#1}%
     \ifempty{#4}{}{%
       \mkbibnameprefix{#4}%
       \ifpunctmark{'}{}{\addhighpenspace}}%
     \mkbibnamelast{#1\isdot}%
     \ifempty{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#3}\isdot%
                    \ifthenelse{\value{uniquename}>1}
                      {\addspace\mkbibbrackets{#2}}
                      {}}%
     \ifempty{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamelast{#1}\isdot
     \ifempty{#2#4}{}{\addcomma}%
     \ifempty{#2}{}{\addlowpenspace\mkbibnamefirst{#3}%
                    \ifthenelse{\value{uniquename}>1}
                      {\addspace\mkbibbrackets{#2}}
                      {}}%
     \ifempty{#4}{}{%
       \addhighpenspace\mkbibnameprefix{#4}%
       \ifpunctmark{'}{}{\addhighpenspace}}%
     \ifempty{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}}

So, the result wanted can be achieved by replacing #3 with #2 and putting this code in the preamble of your TEX file:

\renewbibmacro*{name:apa:family-given}[5]{%
    \ifuseprefix
    {\usebibmacro{name:delim}{#4#1}%
        \usebibmacro{name:hook}{#4#1}%
        \ifempty{#4}{}{%
            \mkbibnameprefix{#4}%
            \ifpunctmark{'}{}{\addhighpenspace}}%
        \mkbibnamelast{#1\isdot}%
        \ifempty{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot%
            \ifthenelse{\value{uniquename}>1}
            {\addspace\mkbibbrackets{#2}}
            {}}%
        \ifempty{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}
    {\usebibmacro{name:delim}{#1}%
        \usebibmacro{name:hook}{#1}%
        \mkbibnamelast{#1}\isdot
        \ifempty{#2#4}{}{\addcomma}%
        \ifempty{#2}{}{\addlowpenspace\mkbibnamefirst{#2}%
            \ifthenelse{\value{uniquename}>1}
            {\addspace\mkbibbrackets{#2}}
            {}}%
        \ifempty{#4}{}{%
            \addhighpenspace\mkbibnameprefix{#4}%
            \ifpunctmark{'}{}{\addhighpenspace}}%
        \ifempty{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}}

This seems to work in my case, where I needed exactly the same thing.

EDIT: If this doesn't work, it's probably because of a different version of biblatex-apa. Try this in your preamble:

\renewbibmacro*{name:apa:last-first}[5]{%
    \ifuseprefix
    {\usebibmacro{name:delim}{#4#1}%
        \usebibmacro{name:hook}{#4#1}%
        \ifblank{#4}{}{%
            \mkbibnameprefix{#4}%
            \ifpunctmark{'}{}{\addhighpenspace}}%
        \mkbibnamelast{#1\isdot}%
        \ifblank{#2}{}{\addcomma\addlowpenspace\mkbibnamefirst{#2}\isdot%
            \ifthenelse{\value{uniquename}>1}
            {\addspace\mkbibbrackets{#2}}
            {}}%
        \ifblank{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}
    {\usebibmacro{name:delim}{#1}%
        \usebibmacro{name:hook}{#1}%
        \mkbibnamelast{#1}\isdot
        \ifblank{#2#4}{}{\addcomma}%
        \ifblank{#2}{}{\addlowpenspace\mkbibnamefirst{#2}%
            \ifthenelse{\value{uniquename}>1}
            {\addspace\mkbibbrackets{#2}}
            {}}%
        \ifblank{#4}{}{%
            \addhighpenspace\mkbibnameprefix{#4}%
            \ifpunctmark{'}{}{\addhighpenspace}}%
        \ifblank{#5}{}{\addcomma\addlowpenspace\mkbibnameaffix{#5}\isdot}}}
5
  • Still wondering why this does not seem to work for me. Commented Apr 6, 2016 at 11:31
  • Does it give you an error or does it simply not produce the result you want? Commented Apr 7, 2016 at 21:30
  • No error messages at all, just a bibliography following APA standards. Commented Apr 8, 2016 at 8:42
  • Hi Alex, I tried the solution on a different computer with a different version of biblatex-apa, and I found that a different solution was needed. I've updated my answer above. Commented Apr 9, 2016 at 13:14
  • Your second solution works with biblatex-apa 6.7. Note that the author list will be closed by a dot in every case. Commented Apr 11, 2016 at 11:47

You must log in to answer this question.

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