我正在使用 AEA 模板natbib
。我希望有 3 位作者的引文显示“FirstAuthor et al.”而不是所有 3 位作者的姓名。(如果出版物有四个或以上作者。
我认为需要在本节中的 change_AEA.bst 文件中进行更改(但不确定要更改什么/如何更改):
FUNCTION {format.names.label}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{ff }{vv~}{ll}{, jj}" format.name$ 't :=
nameptr #1 >
{ namesleft #1 >
{ ", " * t * }
{ t "others" =
{ " et~al." * }
{ " \harvardand\ " * t * }
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
我相信原始的.bst 文件可以在这里找到:https://www.aeaweb.org/journals/policies/templates
答案1
与@Johannes_B 表达的观点一致,我认为修改文件不是一个好主意aea.bst
。在我看来,使用这种特定书目样式的唯一有效理由是你打算向《美国经济评论》或其姊妹出版物之一提交论文。
然而,如果你真的、绝对地,必须et al
更改引用标注中使用的截止阈值,我建议您按以下步骤操作:
复制该文件
aea.bst
并将副本命名为aeamod.bst
。(不要aea.bst
直接修改该文件)。在文本编辑器中打开文件
aeamod.bst
。你用于 tex 文件的编辑器就可以了。在 中
aeamod.bst
,搜索名为 的 BibTeX 函数format.names.label.short
。(它在我的文件副本中从第 572 行开始。)在此函数中,找到
numnames #3 >
将其更改为
numnames #2 >
将文件保存
aeamod.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。在你的主 tex 文件中,更改指令
\bibliographystyle{aea}
到
\bibliographystyle{aeamod}
并运行完整的重新编译序列 - LaTeX、BibTeX 和再 LaTeX 两次 - 以传播您对参考书目样式文件所做更改的效果。
祝您 BibTeX 愉快!
完整的 MWE (最小工作示例) 及其输出:
\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@misc{ab,author="Albertson, Angela and Bronson, Bronwyn",title="Thoughts",year=3000}
@misc{abc,author="Angela Albertson and Bronwyn Bronson and Cristina Christensen",title="Thoughts",year=3001}
@misc{abcd,author="Angela Albertson and Bronwyn Bronson and Cristina Christensen and Darla Drorsen", title="Thoughts",year=3001}
\end{filecontents}
\usepackage{har2nat}
\bibliographystyle{aeamod}
\begin{document}
\cite{ab}
\cite{abc}
\cite{abcd}
\bibliography{mybib}
\end{document}