For aer.bst, citations with 3 or more authors are listed using et al. I need to modify the bibliography so that citations with 4 or more authors are listed using et al., but that citations with 3 authors have all the names written out. For example, I want "See Adams, Brown, and Clark (2003)" as opposed to "See Adams et al. (2003)." I'm using natbib with LaTex: \usepackage{natbib,har2nat}
In order to do that, I need to modify the function format.lab.names.abbr.
Might someone know how to do this?
FUNCTION {format.lab.names.abbr}
{ 'name.list :=
name.list num.names$ 'numnames :=
numnames #1 >
{ numnames #2 >
{ name.list #1 "{vv~}{ll}" format.name$ " et al." * }
{ name.list #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ name.list #1 "{vv~}{ll}" format.name$ " et al." * }
{ name.list #1 "{vv~}{ll}" format.name$ " and " *
name.list #2 "{vv~}{ll}" format.name$ *
}
if$
}
if$
field.used editor.field = {", eds" *} {} if$
}
{
name.list #1 "{vv~}{ll}" format.name$
field.used editor.field = {", ed" *} {} if$
}
if$
}
FUNCTION {format.lab.names.full}
{ 'name.list :=
#1 'nameptr :=
name.list num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ name.list nameptr "{vv~}{ll}" format.name$ 'temp :=
nameptr #1 >
{ namesleft #1 >
{ ", " * temp * }
{ temp "others" =
{ " et~al." * }
{ " and " * temp * }
if$
}
if$
}
'temp
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
numnames #1 > field.used editor.field = and {", eds" *} {} if$
numnames #1 = field.used editor.field = and {", ed" *} {} if$
}

natbib, I suggest you run themakebstutility, which is a part of the custom-bib package, to create your own custom bibliography style file. Thecustom-bibpackage was created by the author ofnatbib, by the way. The process is really quite easy: it's a menu-driven set of queries, where each question comes with several choices. One of the questions will be about how you wish to truncate the number of authors shown in citation call-outs. – Mico Dec 04 '14 at 20:13aer.bst, what you may call "tweaking" could turn out to be a bear of a job. Hence my recommendation to start from scratch. Incidentally, I'm an economist and have in the past tried to use theaerstyle, just for fun. I found it to be buggy, and hence I don't use it for my own working papers. If you happen to like the formatting that's produced by theaerstyle file, you'll find you're much better off in the long run spending five to ten minutes creating a new style file from scratch using themakebstutility. – Mico Dec 04 '14 at 20:38aerstyle generates a "full" call-out -- to the point of listing first names as well as surnames -- the first time a piece is cited and abbreviated call-outs thereafter. I believe theaerstyle is quite unique in this way. If you're adventurous and don't mind figuring out the how to do things using reverse polish notation (which is used by Bibtex's syntax), you could try to adapt the solution shown in the linked posting to bothformat.lab.names.fullandformat.lab.names.abbr. However, my main advice continues to be to be the same: run themakebstutility... – Mico Dec 04 '14 at 21:09If there's no way to edit the file, might you have any advice on using the makebst utility? Although I've been using LaTex for about 7 years, my knowledge is still fairly basic.The only thing I need to do is take the aer.bst file, and change from et al. starting on 3 authors to et al. starting on 4 authors.
– user67403 Dec 05 '14 at 05:20