Biblatex + Biber:\citeauthor 需要在作者之间使用“and”,\printbibliograpy 需要在作者之间使用“&”

Biblatex + Biber:\citeauthor 需要在作者之间使用“and”,\printbibliograpy 需要在作者之间使用“&”

我的大学对于参考书目的正确格式非常严格。

在文中引用时,请遵循以下准则:

  • 2 作者 = 姓氏 1‘恩’familyname2 year => (木头英文克罗格2000
  • 3 位作者 = 姓氏 1姓氏 2‘恩’familyname3 年=> (木头克罗格英文微妙的2000)
  • 4 位或更多作者 = 姓氏 1年 => (木头2000

在参考书目中,由于未知的原因,我们不得不使用&代替英文

  • 伍德,L.&R·克罗格 (2000)
  • 伍德,L.、R.克罗格&L. Subtle (2020)
  • Wood,L.,R. Kroger,L. Subtle&S. Else (2020)

3个问题:

  1. 我该如何区分body = en参考书目 = &

\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}似乎改变了一切进入&

  1. 为什么我的 mincitenames/maxcitenames 没有在下面的 MWE 中发挥作用。

~~ 开始编辑:我自己发现的 ~~

  1. 如何得到而不是 ea
\DefineBibliographyStrings{dutch}{%
    andothers = {et\addabbrvspace al\adddot}
}

~~结束编辑~~


平均能量损失

\documentclass[a4paper]{article}
\usepackage[dutch]{babel}               % Nederlands
\usepackage{filecontents}
\begin{filecontents*}{refs.bib}
@book{wood_2,
  title = {2 authors},
  author = {Wood, Linda and Kroger, Rolf},
  date = {2000},
  publisher = {{SAGE Publications}},
  location = {{California}},
  langid = {english}
}

@book{wood_3,
    title = {3 authors},
    author = {Wood, Linda and Kroger, Rolf and Subtle, Loosely},
    date = {2020},
    publisher = {{SAGE Publications}},
    location = {{California}},
    langid = {english}
}

@book{wood_4,
    title = {4 authors},
    author = {Wood, Linda and Kroger, Rolf and Subtle, Loosely and Else, Somebody},
    date = {2020},
    publisher = {{SAGE Publications}},
    location = {{California}},
    langid = {english}
}
\end{filecontents*}
\usepackage[innamebeforetitle=true,
            citestyle=ext-authoryear-comp,  % meerdere auteurs = chronologisch maar gegroepereerd per auteur
            bibstyle=ext-authoryear,
%           style=ext-authoryear-comp,      % meerdere auteurs = chronologisch maar gegroepereerd per auteur
            sortcites,                      % sorteer citaties per jaar,
            sorting=ynt,
            mincitenames=1,
            maxcitenames=3,
            maxbibnames=99,                 % Toon alle auteurs van een boek - https://tex.stackexchange.com/questions/1554/biblatex-displaying-all-authors-of-multi-author-works-in-the-bibliography
            uniquename=init,
            giveninits=true,                % initialen bij voornaam
            doi=false,                      % geen DOI
            isbn=false,                     % geen ISBN
            dashed=false,                   % auteurs moeten altijd voluit geschreven worden, hoe vaak ze ook geciteerd worden
            dateabbrev=false,
            backend=biber]{biblatex}
\addbibresource{refs.bib}

\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}

\begin{document}

2 authors: \citeauthor{wood_2} - \autocite{wood_2}

3 authors: \citeauthor{wood_3} - \autocite{wood_3}

4 authors: \citeauthor{wood_4} - \citeauthor*{wood_4} - \autocite{wood_4}

    \newrefcontext[sorting=nyt]
    \printbibliography
\end{document}

在此处输入图片描述

答案1

您可以使用以下\DeclareDelimFormat命令执行此操作:

\DeclareDelimFormat[]{finalnamedelim}{\ifnumgreater{\value{liststop}}{3}{\addspace\&\space}{\addspace\bibstring{and}\space}}
\DeclareDelimFormat[bib]{finalnamedelim}{\addspace\&\space}

为了截断此示例中的 4 位作者,需要添加uniquelist=false到加载选项中。

\documentclass[a4paper]{article}
\usepackage[dutch]{babel}               % Nederlands
\usepackage{filecontents}
\begin{filecontents*}{refs.bib}
@book{wood_2,
  title = {2 authors},
  author = {Wood, Linda and Kroger, Rolf},
  date = {2000},
  publisher = {{SAGE Publications}},
  location = {{California}},
  langid = {english}
}

@book{wood_3,
    title = {3 authors},
    author = {Wood, Linda and Kroger, Rolf and Subtle, Loosely},
    date = {2020},
    publisher = {{SAGE Publications}},
    location = {{California}},
    langid = {english}
}

@book{wood_4,
    title = {4 authors},
    author = {Wood, Linda and Kroger, Rolf and Subtle, Loosely and Else, Somebody},
    date = {2020},
    publisher = {{SAGE Publications}},
    location = {{California}},
    langid = {english}
}
\end{filecontents*}
\usepackage[innamebeforetitle=true,
            citestyle=ext-authoryear-comp,  % meerdere auteurs = chronologisch maar gegroepereerd per auteur
            bibstyle=ext-authoryear,
%           style=ext-authoryear-comp,      % meerdere auteurs = chronologisch maar gegroepereerd per auteur
            sortcites,                      % sorteer citaties per jaar,
            sorting=ynt,
            mincitenames=1,
            maxcitenames=3,
            maxbibnames=99,                 % Toon alle auteurs van een boek - https://tex.stackexchange.com/questions/1554/biblatex-displaying-all-authors-of-multi-author-works-in-the-bibliography
            uniquename=init,
            uniquelist=false,
            giveninits=true,                % initialen bij voornaam
            doi=false,                      % geen DOI
            isbn=false,                     % geen ISBN
            dashed=false,                   % auteurs moeten altijd voluit geschreven worden, hoe vaak ze ook geciteerd worden
            dateabbrev=false,
            backend=biber]{biblatex}
\addbibresource{refs.bib}

\DeclareDelimFormat[bib]{finalnamedelim}{\addspace\&\space}
\DeclareDelimFormat[]{finalnamedelim}{\ifnumgreater{\value{liststop}}{3}{\addspace\&\space}{\addspace\bibstring{and}\space}}%


\begin{document}

2 authors: \citeauthor{wood_2} - \autocite{wood_2}

3 authors: \citeauthor{wood_3} - \autocite{wood_3}

4 authors: \citeauthor{wood_4} - \citeauthor*{wood_4} - \autocite{wood_4}

    \newrefcontext[sorting=nyt]
    \printbibliography
\end{document}

代码输出

相关内容