Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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$
}
share|improve this question
3  
et al. appended to the first author name is mostly used only if the cited source has more than three authors. Otherwise all authors are listed. Do you see a different behavior? –  caustic May 18 '11 at 21:40
    
I apologize, this is actually for a reference that contains 4 authors, I just simplified the scenario for the sake of discussion. Hopefully that answers your question. –  picomp May 19 '11 at 16:41
3  
Some BibTeX styles expand the full list of authors the first time you cite the paper, and use et al on subsequent cites IIRC. Maybe that's what's happening? –  You May 19 '11 at 17:43
    
That does appear to be the problem. Does anyone know of a way to suppress this behavior? –  picomp May 21 '11 at 17:50
3  
The journal have provided the style files, and this will reflect their editorial policy. Unless they agree, you should stick to their style. (Authors deciding 'well, I prefer XXX' is a constant problem for publishers.) –  Joseph Wright Jun 30 '11 at 15:19
add comment

1 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.

share|improve this answer
    
Not sure how useful this answer is - the journal style doesn't use biblatex. –  Audrey Jun 30 '11 at 15:35
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.