定义 biblatex authoryear 中 maxbibnames 的规则

定义 biblatex authoryear 中 maxbibnames 的规则

我想调整authoryear中的样式biblatex。具体来说,我想为 定义单独的案例maxbibnames。我正在寻找的行为是:

  1. 如果出版物有最多 8 位作者,我希望在参考书目中引用所有作者
  2. 如果出版物有超过 8 位作者,我想引用前 7 位作者 + 等人。

此外,我需要更改第一作者和后续作者之间姓氏和名字的顺序。

  1. 第一作者:姓氏,名字
  2. 所有后续作者:名字、姓氏

我尝试过定义maxbibnames=7。这将列出最多 7 位作者的出版物中的所有作者,并列出超过 7 位作者的出版物中的第一作者 + 等。假设文件.bib如下my_ref.bib所示:

@Article{Danecek2011,
  author   = {Danecek, Petr and Auton, Adam and Abecasis, Goncalo and Albers, Cornelis A. and Banks, Eric and DePristo, Mark A. and Handsaker, Robert E. and Lunter, Gerton and Marth, Gabor T. and Sherry, Stephen T. and McVean, Gilean and Durbin, Richard and 1000 Genomes Project Analysis Group},
  title    = {{The variant call format and VCFtools}},
  journal  = {Bioinformatics},
  year     = {2011},
  volume   = {27},
  number   = {15},
  pages    = {2156-2158},
  doi      = {10.1093/bioinformatics/btr330},
}

简而言之,我的代码如下所示:

% !BIB TS-program = biber
\documentclass[12pt,a4paper]{article}
\usepackage[a4paper,left=2.6cm, right=2.9cm, top=3.5cm, bottom=3.5cm]{geometry}
\usepackage[sorting=nyt, citestyle = authoryear,  bibstyle = authoryear, giveninits=true, isbn = false, url = false, eprint = false, doi = false, dashed = false, uniquelist = minyear, maxcitenames = 2, maxbibnames = 7, backend = biber]{biblatex}
\addbibresource{my_ref.bib}
\begin{document}
\cite{Danecek2011}
\printbibliography
\end{document}

输出为:

Danecek, P. 等人 (2011):“变异调用格式和 VCFtools”。在:生物信息学27.15,第 2156-2158 页。

我希望收到类似这样的信息:

Danecek, P., A. Auton, G. Abercasis, CA Cornelius, E. Banks, MA DePristo, RE Handsaker 等人 (2011):“变异调用格式和 VCFtools”。在:生物信息学27.15,第 2156-2158 页。

答案1

两段独立的代码解决了我的问题: \DeclareNameAlias{sortname}{family-given/given-family}将改变名字和姓氏的顺序看这里以及minbibnames = 7maxbibnames = 8

相关内容