Change "et al." to "and N other authors" or similar

First you define a number which is the number of authors you want to show, to do this add to ENTRY { in your .bst file nbr so it will become:

ENTRY
  { address
    author
    booktitle
    chapter
    edition
    editor
    eid
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    volume
    year
    nbr % added
  }

then search for FUNCTION {format.names} and replace it by

FUNCTION {format.names}
{ 'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{f.~}{vv~}{ll}{, jj}"
      format.name$
      highlight.if.cv.author
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          nameptr #1
          #3 + = %#15 + =     
          numnames #0
          #10 + %#30 +
          > and
            { "others" 't :=
              #1 'namesleft := }
            'skip$
          if$
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              " " *  
              t "others" =
                {
                  * "and " * nbr " other authors" *    
                }
                { ", " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}

and in your bib file add e.g nbr = {33} to have something like Author 1, Author 2, Author 3 and 33 other authors

N.B: This will show only 3 authors name (if the number of authors is superior than 10) followed by and nbr other authors, where nbr must be added to the BiTeX Entry in the same way you add the pages , journal ... etc . To change this just replace #3 and #10 by the number you want.

Update: As Warrick suggest you do not need to add nbr but instead just replace nbr in the above format.names with numnames #3 - int.to.str$

MWE:

\documentclass{article}
   \begin{filecontents*}{MWE.bib}
     @article{A,
      archivePrefix = {arXiv},
      arxivId = {hep-th/9605032},
      author = {AuthorI, A. and AuthorII, B. and AuthorIII, C.},
      eprint = {9605032},
      journal = {Journal of Bla bla},
      pages = {12},
      primaryClass = {hep-th},
      title = {{Title of the paper A}},
      volume = {123},
      year = {2016}
        }
     @article{B,
      archivePrefix = {arXiv},      
      author = {Author1, A and Author2, A and Author3, A and Author4, A and Author5, A and Author6, A
                 and Author6, A and Author7, A and Author8, A and Author9, Aand Author10, A and Author11, A
                 and Author12, A
                 },
      arxivId = {1512.00704},
      eprint = {1512.00704},
      journal = {Journal of bla bla},
      pages = {1233},
      title = {{Title of the paper B}},
      volume = {567},
      year = {2016},
      nbr = {9}
        }
     @article{C,
      archivePrefix = {arXiv},      
      author = {Author1, A and Author2, A and Author3, A and Author4, A and Author5, A and Author6, A
                 and Author6, A and Author7, A and Author8, A and Author9
                 },
      arxivId = {1512.00704},
      eprint = {1512.00704},
      journal = {Journal of bla bla},
      pages = {1233},
      title = {{Title of the paper B}},
      volume = {567},
      year = {2016}
        }   
  \end{filecontents*}
  \begin{document}

   ~\nocite{*}

 %Bibleography

 \bibliographystyle{example}
 \bibliography{MWE}
 \end{document} 

Which gives: enter image description here


Here is a solution using biblatex:

All one has to do is to define a new directive to format names:

\newcounter{namesleft}
\DeclareNameFormat{andNothers}{%
  \setcounter{namesleft}{\value{author}-\value{liststop}}%
  \nameparts{#1}%
  \namepartfamily
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\addspace}%
    {\ifmorenames{\printtext{ and other \thenamesleft{} authors}}{}}
}
\DeclareNameAlias{author}{andNothers}

In the snippet above first we create a new counter (names left) to store the number of names left to process. Such number is obtained from the difference of the number to be printed when a name is truncated (stored in the minames parameters to be given it the biblatex option and the total number of names in the list stored by the counter (author in this case). When we each the last name to be printed, we use the \ifmorenames conditional to check whether the list is going to be truncated; if so, it prints the value of namesleft.

Finally, we use \DeclareNameAlias to specify that we use the new format to print the list of authors.

The solution uses the calc package to simplify the computation of the counters, and the parameters of how many names are required before truncating the list and how many names are included when truncated are the standard maxnames and minnames. Thus,

\usepackage[minnames=3,maxnames=5]{biblatex}

specifies truncate name list if more that 5 names are present, but display only the first 3 names.

Here is the full MWE:

\documentclass{article}

\begin{filecontents*}{\jobname.bib}
     @article{A,
      archivePrefix = {arXiv},
      arxivId = {hep-th/9605032},
      author = {AuthorI, A. and AuthorII, B. and AuthorIII, C.},
      eprint = {9605032},
      journal = {Journal of Bla bla},
      pages = {12},
      primaryClass = {hep-th},
      title = {{Title of the paper A}},
      volume = {123},
      year = {2016}
        }
     @article{B,
      archivePrefix = {arXiv},      
      author = {Author1, A and Author2, A and Author3, A and Author4, A and Author5, A and Author6, A
                 and Author6, A and Author7, A and Author8, A and Author9, Aand Author10, A and Author11, A
                 and Author12, A
                 },
      arxivId = {1512.00704},
      eprint = {1512.00704},
      journal = {Journal of bla bla},
      pages = {1233},
      title = {{Title of the paper B}},
      volume = {567},
      year = {2016},
      nbr = {9}
        }
     @article{C,
      archivePrefix = {arXiv},      
      author = {Author1, A and Author2, A and Author3, A and Author4, A and Author5, A and Author6, A
                 and Author6, A and Author7, A and Author8, A and Author9
                 },
      arxivId = {1512.00704},
      eprint = {1512.00704},
      journal = {Journal of bla bla},
      pages = {1233},
      title = {{Title of the paper C}},
      volume = {567},
      year = {2016}
        }   
\end{filecontents*}

\usepackage{calc}
\usepackage[minnames=3,maxnames=5]{biblatex}
\addbibresource{\jobname.bib}

\newcounter{namesleft}
\DeclareNameFormat{andNothers}{%
  \setcounter{namesleft}{\value{author}-\value{liststop}}%
  \nameparts{#1}%
  \namepartfamily
  \ifthenelse{\value{listcount}<\value{liststop}}
    {\addcomma\addspace}%
    {\ifmorenames{\printtext{ and other \thenamesleft{} authors}}{}}
}


\DeclareNameAlias{author}{andNothers}

\begin{document}


\nocite{*}

\printbibliography  
\end{document}

Producing

enter image description here

Tags:

Bibtex