You seem, in your latest comment, intent on finding a way to monitor such behaviour.
You should give a try at biblatex, which is very complete and highly configurable.
For your precise case, you would use \usepackage[maxnames=99]{biblatex}
, which would always display all the authors.
The function which format the list of names inside the bst
file is the one called format.names
. For example, for the apa.bst
file, this function has the following code:
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := % last name first
nameptr #1 >
[... etc ...]
}
For full details about the syntax used in bst
files and in this function in particular, refer to the document Taming the beast (pag. 35).
The line which we have to modify in this case is the one containing the string:
"{vv~}{ll}{, jj}{, f.}"
This string specifies the required format for the name of each author. vv
represents the "von" part (if it exists) ll
is the full last name, jj
is the "junior" part of the name (if it exists) and finally ff
would be the full first name, while f
is the initial of the first name. Commas and dots are literals and are added in the output.
Removing the dot after the f
produces the result you want, or almost:
Note that, since we used f
instead of ff
, both the first and middle names are abbreviated. But using ff
we will have both expanded. Apparently BibTeX does not have a notion of "middle name", all what is not last name is considered first name.
If you need the first name "fully expanded" but the middle name abbreviated and without dot, then this is beyond my bibtex abilities. I don't even know if that would be possible.
Best Answer
I think that you need to hack
plain.bst
. Replacing thearticle
function inplain.bst
with the following seems to do the trick:Personally, I find the bst syntax to be quite painful, but you can read all about it in Patashnik's Designing BibteX files.
All that I have done above is to comment out the
new.block
line, added"\\" *
to put your slashes after the title and then hacked the output of the journal's name so that no punctuation is added. I am sure that there are better ways to do this...