TransWikia.com

How can I reduce author names from ... to et al in apa6 bibstyle

TeX - LaTeX Asked on January 18, 2021

I am using biblatex and I would like to reduce the author name list with apa6 style.

I use minbibnames and maxbibnames config but the biblatex with apa6 style provides "…" follow with last author name.
I would like to change "…" and the last author name to et al.

This is my sample code.

documentclass[a4paper,12pt]{article}
usepackage{csquotes}
usepackage{filecontents}
usepackage[
backend=biber,
style=apa6,
citestyle=numeric-comp,
natbib=true,
date=year,
uniquelist=false,
defernumbers=true,
minbibnames=4,
maxbibnames=6,
eprint=false
]{biblatex}

makeatletter
RequireBibliographyStyle{numeric}
makeatother

begin{filecontents*}{aa.bib}
@book{ipcc_tech_2013,
    author = {T.F. Stocker and D. Qin and G.-K. Plattner and L.V. Alexander 
      and S.K. Allen and N.L. Bindoff and F.-M. Bréon and J.A. Church 
      and U. Cubasch and S. Emori and P. Forster and P. Friedlingstein 
      and N. Gillett and J.M. Gregory and D.L. Hartmann and E. Jansen 
      and B. Kirtman and R. Knutti and K. Krishna Kumar and P. Lemke 
      and J. Marotzke and V. Masson-Delmotte and G.A. Meehl and I.I. Mokhov 
      and S. Piao and V. Ramaswamy and D. Randall and M. Rhein and M. Rojas 
      and C. Sabine and D. Shindell and L.D. Talley and D.G. Vaughan 
      and S.-P. Xie},
    year = {2020},
    title = {{Technical Summary. I Climate Change 2013: The Physical 
      Science Basis. Contribution of Working Group I to the Fifth Assessment 
      Report of the Intergovernmental Panel on Climate Change}},
    editor = {T.F. Stocker and D. Qin and G.-K. Plattner and M. Tignor 
      and S.K. Allen and J. Boschung and A. Nauels and Y. Xia and V. Bex 
      and P.M. Midgley},
    publisher = {Cambridge University Press},
    address = {Cambridge, United Kingdom and New York, NY, USA},
}
end{filecontents*}

addbibresource{aa.bib}
begin{document}

A citation: cite{ipcc_tech_2013}

printbibliography

end{document}

This the result.
enter image description here

2 Answers

The apa6 style is known, among other things, for its unusual (quirky??) rules for typesetting entries with 8 or more authors. As you've (re)discovered, for such cases it requires showing the first 6 authors, then a typographic ellipsis, then the final author. biblatex implements this apa6 requirement exactly -- and therefore deliberately disregards your settings for minbibname and maxbibname.

If you can't stand this formatting setting, your best option is probably to switch to a different bib style. Unfortunately, APA7 -- which is what you get by changing the apa6 option to apa -- won't offer you much relief in this regard, as its setting is to show the first 19 [!!] authors, followed by ..., followed by the final author...

This discussion is actually missing a very important point. Specifically, instead of focusing your energy on "fixing" the way the author field is displayed, you should work harder on actually getting the contents of the bibliographic entry right. For sure, the @book entry type is not appropriate for the entry at hand; I believe you should be using the @incollection entry type. Also, the publication year was 2014, not 2020.

Do learn to live with the formatting requirements of apa6, apa, or whatever style you end up choosing. I'm pretty sure that the readers of your piece won't care a whit about how the author field is displayed. They may very well care, though, about being given the correct information about the publication year of the piece in question.

enter image description here

documentclass[a4paper,12pt]{article}
usepackage{csquotes}

usepackage[style=apa6,
            citestyle=numeric-comp
           ]{biblatex}

begin{filecontents*}[overwrite]{aa.bib}
@incollection{ipcc_tech_2013,
    author = {T.F. Stocker and D. Qin and G.-K. Plattner and L.V. Alexander 
      and S.K. Allen and N.L. Bindoff and F.-M. Bréon and J.A. Church 
      and U. Cubasch and S. Emori and P. Forster and P. Friedlingstein 
      and N. Gillett and J.M. Gregory and D.L. Hartmann and E. Jansen 
      and B. Kirtman and R. Knutti and K. Krishna Kumar and P. Lemke 
      and J. Marotzke and V. Masson-Delmotte and G.A. Meehl and I.I. Mokhov 
      and S. Piao and V. Ramaswamy and D. Randall and M. Rhein and M. Rojas 
      and C. Sabine and D. Shindell and L.D. Talley and D.G. Vaughan 
      and S.-P. Xie},
    year = {2014},
    title = {{Technical Summary}},
    booktitle = {{Climate Change 2013 --- The Physical Science Basis: 
      Working Group~I Contribution to the Fifth Assessment Report of the 
      Intergovernmental Panel on Climate Change}},
    editor = {T.F. Stocker and D. Qin and G.-K. Plattner and M. Tignor 
      and S.K. Allen and J. Boschung and A. Nauels and Y. Xia and V. Bex 
      and P.M. Midgley},
    publisher = {Cambridge University Press},
    address = {Cambridge, United Kingdom and New York, NY, USA},
    pages   = {31--116},
}
end{filecontents*}
addbibresource{aa.bib}

begin{document}
A citation: cite{ipcc_tech_2013}
printbibliography
end{document}

Answered by Mico on January 18, 2021

I apply DeclareNameFormat{apaauthor}. It works. Note that, I use "renewcommand{maxprtauth}{6}" to limit an author number. In my case, the maxprtauth is 6. It means that I would like to show 6 names in the ref section. If some article has more than 6 authors. It will be replaced with "et al" in the last position.

       documentclass[a4paper,12pt]{article}
        usepackage{csquotes}
        usepackage{filecontents}
        usepackage[
        backend=biber,
        style=apa6,
        citestyle=numeric-comp,
        natbib=true,
        date=year,
        uniquelist=false,
        defernumbers=true,
        minbibnames=4,
        maxbibnames=6,
        eprint=false
        ]{biblatex}
        
        makeatletter
        RequireBibliographyStyle{numeric}
        makeatother
        
    
    renewcommand{maxprtauth}{6}
    DeclareNameFormat{apaauthor}{%
        ifthenelse{value{listcount}=maxprtauthANDvalue{listcount}<value{listtotal}}
        {addcommaspace et al.space}
        {ifthenelse{value{listcount}>maxprtauth}
            {}
            {usebibmacro{name:apa:family-given}%
                {namepartfamily}%
                {namepartgiven}%
                {namepartgiveni}%
                {namepartprefix}%
                {namepartsuffix}%
                letbibstringbibcplstring
                %usebibmacro{role}{}{}%
                hasitemannotation[currentname][username]
                {addspacemkbibbrackets{getitemannotation[currentname][username]}}
                {}}}%
        ifthenelse{value{listcount}=value{listtotal}}%
        {ifmorenames
            {printdelim{andothersdelim}%
                biblcstring{andothers}}
            {}%
            letbibstringbibcplstring
            %usebibmacro{roles}{}{}
        }
        {}}
    
        begin{filecontents*}{aa.bib}
        @incollection{ipcc_tech_2013,
    author = {T.F. Stocker and D. Qin and G.-K. Plattner and L.V. Alexander 
      and S.K. Allen and N.L. Bindoff and F.-M. Bréon and J.A. Church 
      and U. Cubasch and S. Emori and P. Forster and P. Friedlingstein 
      and N. Gillett and J.M. Gregory and D.L. Hartmann and E. Jansen 
      and B. Kirtman and R. Knutti and K. Krishna Kumar and P. Lemke 
      and J. Marotzke and V. Masson-Delmotte and G.A. Meehl and I.I. Mokhov 
      and S. Piao and V. Ramaswamy and D. Randall and M. Rhein and M. Rojas 
      and C. Sabine and D. Shindell and L.D. Talley and D.G. Vaughan 
      and S.-P. Xie},
    year = {2014},
    title = {{Technical Summary}},
    booktitle = {{Climate Change 2013 --- The Physical Science Basis: 
      Working Group~I Contribution to the Fifth Assessment Report of the 
      Intergovernmental Panel on Climate Change}},
    editor = {T.F. Stocker and D. Qin and G.-K. Plattner and M. Tignor 
      and S.K. Allen and J. Boschung and A. Nauels and Y. Xia and V. Bex 
      and P.M. Midgley},
    publisher = {Cambridge University Press},
    address = {Cambridge, United Kingdom and New York, NY, USA},
    pages   = {31--116},
}
        end{filecontents*}
        
    addbibresource{aa.bib}
    begin{document}
    
    A citation: cite{ipcc_tech_2013}
    
    printbibliography
    
    end{document}

Answered by Pisit Nakjai on January 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP