我正在使用\citeasnoun
带有bibstyle 的harvard
包econometrica
。
我的问题是,我的一个引文有很多作者,所以我想只显示姓名等 (200x)。
我还没有找到解决办法。我可以更改整个 bib 条目,但我不介意在文本末尾的参考文献中列出所有作者。
答案1
要完成问题中提到的事情,请执行以下操作:
打开 econometrica.bst(出于安全原因,最好先使用副本)。然后搜索“FUNCTION {format.lab.names}”。
现在添加螺栓部分:
函数 {format.lab.names} { 's := #1 'nameptr := s num.names$ 'numnames := numnames 'namesleft := numnames #3 > { s #1 "{vv~}{ll}{, jj}{, f.}" format.name$ " et~al." * } { { namesleft #0 > } { s nameptr "{vv~}{ll}" 格式.name$ 't := nameptr #1 > { namesleft #1 > { ", " * t * } { numnames #2 > { "" * } 'skip$ if$ t "others" = { " et~al." * } { " and " * t * } if$ } if$ } 't if$ nameptr #1 + 'nameptr := namesleft #1 - 'namesleft := } while$ } 如果$ }
numnames #3 > 是使用 et al. 函数后调整作者数量的关键变量,在我的示例中,作者数量为 3。不要忘记在末尾添加“if$ }”。
现在保存(可能更新你的 Miktex FNDB)并在你的文档中使用 bst 文件!
另请参阅此处:
http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-05/msg00099.html
其中,参考书目中强制使用 et. al 功能!
希望这可以帮助!
答案2
根据手册第 2.4 节harvard
,双星号 (!) 宏版本\citeasnoun**
会覆盖默认的引用样式,并始终使用缩写形式。不过,似乎此功能适用于六种样式“目前在哈佛家族中可用”(手册,第 3.1 节),但econometrica
根据 中的注释, 样式econometrica.bst
是在 的帮助下创建的makebst
。以下示例显示了使用该agsm
样式强制使用缩写引用格式。
\documentclass{article}
\usepackage{harvard}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A. and Buthor, B. and Cuthor, C.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\begin{document}
\citeasnoun**{A01}
\bibliographystyle{agsm}
\bibliography{\jobname}
\end{document}
答案3
要删除名称,例如“Baldwin, R. et al. 2003, p. 7”,只需删除以下部分中的“{, f.}”即可:
numnames #3 > { s #1 "{vv~}{ll}{, jj}{, f.}" format.name$ " et~al." * }
然后它就出现了 Baldwin et al. 2003, p. 7