I am having some issues while using BibTeX to cite papers in an article I am writing. The journal I am submitting to supplies their own *.bst and *.sty files that are supposed to format to the journal's desired style.
The problem is I am having really incosistent behavior with Author truncating (i.e. et al). In some places when I am citing the same paper I get:
Author1 et al. (2003)
whereas in others I get:
Author1, Author2, Author3, and Author4 (2003)
This is all while using \cite{key} in the same way. To try and diagnose the issue I took a look at the paper.aux file. In this file I can see that the Authors are correctly parsed by BibTeX. Here is an example of the *.aux file entry:
\bibcite{key}{{5}{2003}{{Author1 et~al.}}{{Author1, Author2, Author3, and Author4}}}
To me the next logical step is to take a look at the *.bst file. Unfortunately I am very inexperienced with BibTeX. Here is the code that I think is relevant from the *.bst file:
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
duplicate$ #1 >
{ "{f.~}{vv~}{ll}{, jj}" }
{ "{vv~}{ll}{, f.}{, jj}" }
if$
format.name$
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
numnames #2 >
{ "," * }
'skip$
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
Best Answer
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.