我遇到了与描述相同的问题这里,不得不使用 来截断很长的作者列表maxbibnames=9
。由于我还希望名称采用特定的格式Lastname, F.
,因此这似乎无法一起使用。有没有办法在保持名称格式不变的情况下包含添加的 et al.?
\documentclass[a4paper, % Seitenformat
12pt, % Schriftgröße
bibliography=totoc, % Literaturverzeichnis in das Inhaltsverzeichnis
parskip=false,
abstract=on % Erstellt Titel für Abstract
]{scrreprt}
\begin{filecontents}{jobname.bib}
@misc{Abadi.2016,
author = {Abadi, Martin and Agarwal, Ashish and Barham, Paul and Brevdo, Eugene and Chen, Zhifeng and Citro, Craig and Corrado, Greg S. and Davis, Andy and Dean, Jeffrey and Devin, Matthieu and Ghemawat, Sanjay and Goodfellow, Ian and Harp, Andrew and Irving, Geoffrey and Isard, Michael and Jia, Yangqing and Jozefowicz, Rafal and Kaiser, Lukasz and Kudlur, Manjunath and Levenberg, Josh and Mane, Dan and Monga, Rajat and Moore, Sherry and Murray, Derek and Olah, Chris and Schuster, Mike and Shlens, Jonathon and Steiner, Benoit and Sutskever, Ilya and Talwar, Kunal and Tucker, Paul and Vanhoucke, Vincent and Vasudevan, Vijay and Viegas, Fernanda and Vinyals, Oriol and Warden, Pete and Wattenberg, Martin and Wicke, Martin and Yu, Yuan and Zheng, Xiaoqiang},
year = {2016},
title = {TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems},
url = {http://arxiv.org/pdf/1603.04467v2},
keywords = {Computer Science - Distributed Parallel and Cluster Computing;Computer Science - Learning}
}
\end{filecontents}
\usepackage[style=authoryear,
natbib=true,
backend=biber,
maxcitenames=2,
uniquelist=false,
doi=false,
isbn=false,
dashed=false,
maxbibnames=9,
minbibnames=9]{biblatex}
\addbibresource{jobname.bib} % note the .bib is required
% Lastname, F.
\DeclareNameFormat{sortname}{%
\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
}%
\begin{document}
\textcite{Abadi.2016}
\printbibliography
\end{document}
然而,这样做可以很好地截断作者列表,但不会在截断列表的末尾添加“et al.”
答案1
名称格式为sortname
\DeclareNameFormat{sortname}{%
\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
}%
是不完整的。所有标准名称格式都以
\usebibmacro{name:andothers}%
处理“et al.”事务。您的定义中缺少此行。
你可以修复这个问题
\DeclareNameFormat{sortname}{%
\usebibmacro{name:family-given}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}%
}%
但使用预定义的名称格式会更容易,只需说
\DeclareNameAlias{sortname}{family-given}
此定义具有遵守选项的额外好处giveninits
,因此您可能希望将其添加giveninits=true
到您的加载选项中。
\documentclass{article}
\usepackage[style=authoryear,
natbib=true,
backend=biber,
maxcitenames=2,
uniquelist=false,
doi=false,
isbn=false,
dashed=false,
maxbibnames=9,
minbibnames=9,
giveninits=true]{biblatex}
\DeclareNameAlias{sortname}{family-given}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{Abadi.2016,
author = {Abadi, Martin and Agarwal, Ashish and Barham, Paul
and Brevdo, Eugene and Chen, Zhifeng and Citro, Craig
and Corrado, Greg S. and Davis, Andy and Dean, Jeffrey
and Devin, Matthieu and Ghemawat, Sanjay and Goodfellow, Ian
and Harp, Andrew and Irving, Geoffrey and Isard, Michael
and Jia, Yangqing and Jozefowicz, Rafal and Kaiser, Lukasz
and Kudlur, Manjunath and Levenberg, Josh and Mane, Dan
and Monga, Rajat and Moore, Sherry and Murray, Derek
and Olah, Chris and Schuster, Mike and Shlens, Jonathon
and Steiner, Benoit and Sutskever, Ilya and Talwar, Kunal
and Tucker, Paul and Vanhoucke, Vincent and Vasudevan, Vijay
and Viegas, Fernanda and Vinyals, Oriol and Warden, Pete
and Wattenberg, Martin and Wicke, Martin and Yu, Yuan and Zheng, Xiaoqiang},
year = {2016},
title = {TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems},
eprint = {1603.04467v2},
eprinttype = {arxiv},
eprintclass = {cs.DC},
version = {2},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{Abadi.2016}
\printbibliography
\end{document}