![将引文中的“et al.”替换为参考文献中所有作者的姓氏](https://linux22.com/image/467075/%E5%B0%86%E5%BC%95%E6%96%87%E4%B8%AD%E7%9A%84%E2%80%9Cet%20al.%E2%80%9D%E6%9B%BF%E6%8D%A2%E4%B8%BA%E5%8F%82%E8%80%83%E6%96%87%E7%8C%AE%E4%B8%AD%E6%89%80%E6%9C%89%E4%BD%9C%E8%80%85%E7%9A%84%E5%A7%93%E6%B0%8F.png)
在书中,MWE 使用在这个问题中,我正在使用该包来生成具有所述样式的natbib
参考书目abbrvnat
在此页面。我希望引用有三位作者的参考文献时包含所有作者的姓氏,而不是第一个作者的姓氏后跟et al.
。
该命令\citet*{Byrd:19}
确实包括了特定参考文献的所有三位作者Byrd:19
,但我需要将所有内容都放在括号内。请参见下图。
示例参考条目包含在单独的bibtex
文件reference.bib中,具体如下:
@article{Byrd:19,
author = {Byrd, Richard~H. and Cocola, Jorio and Tapia, Richard~A.},
title = {{Extending the Pennisi--McCormick Second-Order Sufficiency Theory for Nonlinear Programming to Infinite Dimensions}},
journal = {SIAM Journal on Optimization},
year = {2019},
volume = {29},
number = {3},
pages = {1870-1878}}
感谢您提供的任何想法。
答案1
假设你仍在使用abbrvnat
书目样式,我建议你(a)加载纳特比布包中的选项square
和authoryear
(b)\citep*
代替使用来\citet*
创建“括号样式”的引用标注,以显示全部作者姓氏。相反,\citep
对于有三位或更多作者或编辑的条目,使用创建带有截断作者列表的括号式引文标注。
\documentclass{extreport}
\begin{filecontents}[overwrite]{references.bib}
@article{Byrd:19,
author = {Byrd, Richard H. and Cocola, Jorio and Tapia, Richard A.},
title = {Extending the {Pennisi--McCormick} Second-Order Sufficiency
Theory for Nonlinear Programming to Infinite Dimensions},
journal= {SIAM Journal on Optimization},
year = {2019},
volume = {29},
number = {3},
pages = {1870-1878},
}
\end{filecontents}
\usepackage[square,authoryear]{natbib}
\bibliographystyle{abbrvnat} % or some other suitable bib style
\begin{document}
\citep*{Byrd:19}, \citep{Byrd:19}
\bibliography{references}
\end{document}