使用 et al 时不要完全缩短作者列表

使用 et al 时不要完全缩短作者列表

我正在尝试根据我的需要采用引文和参考文献/参考书目:

  1. 如果出版物有两位以上的作者,则缩短应使用符号(例如)。这可以通过设置和按预期工作Harris et al.来实现。maxcitenames=2
  2. 参考文献/参考书目中的作者列表不应完全缩短,et al.仅当超过允许的最大作者数量时才应附加(例如,Harris, C.R., Millman, K. J., van der Walt, S. J. et al.而不是Harris, C.R. et al.)。

我没有找到实现第二点的方法。通常maxbibnames设置为更高的数字,例如maxbibnames=99,显示所有作者。不幸的是,我确实有一些参考文献有很多作者,几乎占满了参考文献的 1/4 页,因此应该按照上面解释的方式缩短。

有办法吗?可以通过传递给 biblatex 的众多选项来实现吗?

我的MWE如下:

\documentclass{article}    
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}   
    @article{Harris_2020,
    title     = {Array programming with {NumPy}},
    author    = {C. R. Harris and K. J. Millman and S. J. van der Walt and R. Gommers and P. Virtanen and D. Cournapeau and E. Wieser and J. Taylor and S. Berg and N. J. Smith and R. Kern and M. Picus and S. Hoyer and M. H. van Kerkwijk and M. Brett and A. Haldane and J. Fern{\'{a}}ndez del R{\'{i}}o and M. Wiebe and P. Peterson and P. G{\'{e}}rard-Marchant and K. Sheppard and T. Reddy and W. Weckesser and H. Abbasi and C. Gohlke and T. E. Oliphant},
    year      = 2020,
    journal   = {Nature},
    publisher = {Springer Science and Business Media {LLC}},
    volume    = 585,
    number    = 7825,
    pages     = {357-362},
    doi       = {10.1038/s41586-020-2649-2}
    }    
\end{filecontents*}
    
\usepackage[
    bibstyle=bwl-FU,
    backend=biber,
    citestyle=authoryear,
    maxcitenames=2,
    maxbibnames=3,
]{biblatex}

\renewbibmacro{in:}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\space}
\addbibresource{\jobname.bib}

\begin{document}
    \parencite{Harris_2020}
    \printbibliography
\end{document}

产生以下输出:

MWE 的输出

答案1

minbibnames您也想设置。

规则是,长度超过的列表maxnames将被截断为长度 + “et al.”的列表。如果您想在截断的情况下看到许多名称,则还minnames需要增加。minnames

\documentclass{article}

\usepackage[
  backend=biber,
  bibstyle=bwl-FU,
  citestyle=authoryear,
  maxcitenames=2,
  minbibnames=3, maxbibnames=3,
]{biblatex}

\renewbibmacro{in:}{}
\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addspace\bibstring{and}\space}

\begin{filecontents*}{\jobname.bib}
@article{Harris_2020,
  title     = {Array programming with {NumPy}},
  author    = {C. R. Harris and K. J. Millman and S. J. van der Walt and R. Gommers
               and P. Virtanen and D. Cournapeau and E. Wieser and J. Taylor
               and S. Berg and N. J. Smith and R. Kern and M. Picus and S. Hoyer
               and M. H. van Kerkwijk and M. Brett and A. Haldane
               and J. Fernández del Río and M. Wiebe and P. Peterson
               and P. Gérard-Marchant and K. Sheppard and T. Reddy
               and W. Weckesser and H. Abbasi and C. Gohlke and T. E. Oliphant},
  year      = 2020,
  journal   = {Nature},
  volume    = 585,
  number    = 7825,
  pages     = {357-362},
  doi       = {10.1038/s41586-020-2649-2}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
  \parencite{Harris_2020,aksin,sigfridsson,nussbaum}
  \printbibliography
\end{document}

(Harris 等人 2020 年;Aksın 等人 2006 年;Sigfridsson 和 Ryde 1998 年;Nussbaum 1978 年)//Harris, CR、Millman, KJ、Walt, SJ van der 等人(2020 年)。

相关内容