2

I try to set up a bibliography style for a journal which has a pretty tricky requirement:

For references with up to eleven authors, all authors are listed. If there are twelve or more authors, only the first nine and the last one are listed, while the others are replaced by "(...) &".

For example:

Blackburn, T.M., Essl, F., Evans, T., Hulme, P.E., Jeschke, J.M., Kühn, I., Kumschick, S., Marková, Z., Mrugała, A., (...) & Bacher, S. 2014. A unified classification of alien species based on the magnitude of their environmental impacts. PLoS Biology 12: e1001850.

It means that in the bst file, I have to:

  • Replace "et al." by "(...) &" which I am able to do thanks to the community

  • Make the final author name follow "(...) &". This task is not straightforward for me.

I have already explored the possibilities offered by custombib but I have not found what I am looking for.

  • 2
    If you are open to using biblatex as your tagging suggests have a look at Using the “et Int” citation system. But if you are writing a journal file you probably can't use biblatex (see here). Do they accept TeX submissions at all? – moewe Nov 29 '17 at 9:40
  • @moewe:Thank you very much for answering. 1) I will have a deeper look, the "et Int" looks indeed really similar to my needs. 2 & 3) The journal does not accept TeX submission but I convert my file thanks to latex2rtf. Thus, it is not a problem for me to use biblatex. I am currently using natbib with a custom bst. – Alain Danet Nov 29 '17 at 10:11
  • If you have any problems getting the linked answer to work or modifying it to do what you want, don't hesitate to edit your question with more details. – moewe Nov 29 '17 at 13:36
0

Original solutions

Thanks to @moewe, I have finally got what I wanted:

  1. Always print the last author in bibliography
  2. Replace "And" by the ampersand ("&") both in text and bibliography

Minimal Working Example

Here is the minimal working example that I have found in the solution linked by @moewe:

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear-comp, 
    backend=biber, 
    maxcitenames=3,
    maxbibnames=999, 
    %Remove given names in in-text citations:
    %https://tex.stackexchange.com/questions/65747/citation-style-in-biblatex-1-get-rid-of-first-names-2-remove-comma-before
    uniquename=false,
    uniquelist=false,
    %Print only first initials in bibliography:
    %https://tex.stackexchange.com/questions/21974/biblatex-abbreviated-author-names?rq=1
    giveninits=true,
    natbib = true]{biblatex}

%------------------------------------------------------------------------------
% Set up a bibfile example

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{legendre,
    series = {Developments in {Environmental} {Modelling}},
    title = {Numerical {Ecology}},
    isbn = {978-0-444-53869-7},
    publisher = {Elsevier Science},
    author = {Legendre, P. and Legendre, L.F.J.},
    year = {2012}
}
@inproceedings{cheshkov,
  author    = {Cheshkov, S. and Tajima, T. and Chiu, C. and Breitling, F.},
  title     = {Emittance control in Laser Wakefield Accelerator},
  booktitle = {American Institute of Physics Conference Series},
  date      = {2001-05},
  volume    = {569},
  pages     = {163-176},
}
@article{dehant,
  author = {Veronique Dehant and Bruce Banerdt and Philippe Lognonné and
Matthias Grott and Sami Asmar and Jens Biele and Doris Breuer and François
Forget and Ralf Jaumann and Catherine Johnson and Martin Knapmeyer and
Benoit Langlais and Le Feuvre, Mathieu and David Mimoun and Antoine Mocquet and
Peter Read and Attilio Rivoldini and Oliver Romberg and Gerald Schubert and Sue
Smrekar and Tilman Spohn and Paolo Tortora and Stephan Ulamec and Susanne
Vennerstrøm},
  journal = {Planetary and Space Science},
  number  = {1},
  pages   = {123 - 145},
  title   = {Future {Mars} geophysical observatories for understanding its
internal structure, rotation, and evolution},
  volume  = {68},
  year    = {2012},
}
\end{filecontents*}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
%------------------------------------------------------------------------------
%Replace "And" by the ampersand both in text and in bibliography 
%https://tex.stackexchange.com/questions/68053/use-ampersand-in-citations-and-bibliography-in-biblatex

\renewcommand*{\finalnamedelim}{%
  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
    \addspace\&\space}

%------------------------------------------------------------------------------
% Make the final author name follow etint 
% https://tex.stackexchange.com/questions/377543/using-the-et-int-citation-system

\NewBibliographyString{etint}
\DefineBibliographyStrings{english}{etint = {(...)}}

\newcounter{bbx:etinttrunc}
%Number of authors before etint:
\setcounter{bbx:etinttrunc}{6} 
\newtoggle{bbx:showetint}
\DeclareNameFormat{given-family-etint}{%
  \ifnumequal{\value{listcount}}{1}
    {\toggletrue{bbx:showetint}}
    {}%
  \ifboolexpr{
    test {\ifnumless{\value{listcount}}{\value{bbx:etinttrunc}+1}}
    or test {\ifnumequal{\value{listcount}}{\value{liststop}}}
    or 
      ( test {\ifnumequal{\value{listcount}}{\value{bbx:etinttrunc}+1}}
        and test {\ifnumequal{\value{liststop}}{\value{bbx:etinttrunc}+2}})
    }
    {\ifgiveninits
       {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiveni}
          {\namepartprefix}
          {\namepartsuffix}}
        {\usebibmacro{name:given-family}
          {\namepartfamily}
          {\namepartgiven}
          {\namepartprefix}
          {\namepartsuffix}}}
    {\iftoggle{bbx:showetint}
       {\usebibmacro{name:delim}{\bibstring{etint}}%
        \bibstring{etint}%
        \togglefalse{bbx:showetint}}
       {}}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{sortname}{given-family-etint}
\DeclareNameAlias{author}{given-family-etint}
\DeclareNameAlias{editor}{given-family-etint}
\DeclareNameAlias{translator}{given-family-etint}

\begin{document}

\citep{legendre,cheshkov,dehant}
\printbibliography

\end{document}

The MWE gives: Result of the MWE

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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