使用 aer.bst,删除虚线重复的作者

使用 aer.bst,删除虚线重复的作者

我在 LyX 2.1 中使用 aer.bst 来记录 bibtex 书目,并尝试打印重复的作者姓名,而不是使用破折号。Tex.stackexchange.com 之前关于删除破折号功能的所有建议似乎都不适用于 aer 样式,该样式使用名为 \bysame 的功能来指示作者姓名在单独的条目中重复。如果有帮助,aer.bst 使用 natbib。

下面是一个最小工作示例: 书目中有破折号表示重复作者

答案1

您可以复制aer.bst并修改它以绕过作者(和编辑者)姓名的比较。以下修补应该可以解决问题。在补丁中,修改后的参考书目样式文件被命名为aer2.bst。我在函数中编辑了两行make.list.label

--- aer.bst 2014-01-12 01:23:55.000000000 +0200
+++ aer2.bst    2014-08-20 18:19:51.121860358 +0300
@@ -633,10 +633,10 @@

 FUNCTION {make.list.label}
 {author.field field.used =
-    { prev.author author compare.names format.authors
+    { author format.authors
          author 'prev.author :=}
     { editor.field field.used =
-        { prev.author editor compare.names format.editors
+        { editor format.editors
                 editor 'prev.author := }
         { organization.field field.used =
             { "The " #4 organization chop.word

示例(使用 LaTeX,但 LyX 应该没有什么不同)

修改后的书目样式的输出

\documentclass{article}
\usepackage{aer}
\usepackage{harvard}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{baker2007a,
  title={Investor Sentiment and the Cross-Section of Stock Returns},
  author={Baker, Malcolm and Wurgler, Jeffrey},
  journal={Journal of Finance},
  volume={61},
  number={4},
  pages={1645--1680},
  year={2007},
}
@article{baker2007b,
  title={Investor Sentiment in the Stock Market},
  author={Baker, Malcolm and Wurgler, Jeffrey},
  journal={Journal of Economic Perspectives},
  volume={21},
  number={2},
  pages={129--151},
  year={2007},
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{aer2}
\bibliography{\jobname}
\end{document}

相关内容