10

I'm writing a grant proposal where the funding agency specifies the following space-saving style for entries in the bibliography:

Publications with multiple authors may be cited as follows: first author, second author, et int, last author.

Apparently this isn't something the funding agency invented; the "et Int" citation style was proposed in Science Editor back in 2003 [1] so obviously it has gained some traction since then. But I can't for the life of me figure out how to do this (or if it's even possible to do this) in Biblatex. Have I overlooked something in the manual (for version 3.7), or will I need to roll my own solution?

I know that you can truncate the number of names printed using the minbibnames and maxbibnames options, but as far as I can tell truncated name lists always end with the fixed string "et al." (or whatever the value of andothers happens to be in the bibliography style). Might it be possible to dynamically modify the value of andothers so that it is "et int, " followed by the name of the last author (or editor) of whatever bibliography item it happens to be printing?

[1] Sergei A. Grando and Jeffrey D. Bernhard. "First Author, Second Author, et Int, and Last Author": A Proposed Citation System for Biomedical Papers. Science Editor 26(4):122–123, July–August 2003.

  • 5
    Fortunately, not too much traction – Fran Jun 30 '17 at 12:18
11

Unfortunately, the paper was not too clear on the actual details of the proposed style, so you will have to live with my interpretation for the time being.

This implementation leaves out 'intervening authors' if they are two or more authors (it seems unfair to replace just one author by 'et int.', we might as well name her in full) after the author number bbx:etinttrunc and before the last author. In the example bbx:etinttrunc is set to two as in your question.

I assume things could be made easier if Biber supported this natively, but it also works like this.

MWE

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber, maxnames=999]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@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}

%\renewcommand*{\finalnamedelim}{\multinamedelim}

\NewBibliographyString{etint}
\DefineBibliographyStrings{english}{etint = {et\addabbrvspace int\adddot}}

\newcounter{bbx:etinttrunc}
\setcounter{bbx:etinttrunc}{2}
\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}
\cite{aksin,worman,sigfridsson,companion,cotton,cheshkov,dehant}
\printbibliography
\end{document}

example output


If you must leave out the third author in a four author work, you need a slightly simpler \DeclareNameFormat{given-family-etint}.

\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}}}}
    {\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}}
|improve this answer|||||
  • I'm not sure what you found unclear about the style in the paper—it says "we propose the citation system 'first author, second author, et int (and intervening), and last author' for references of journal articles that have four or more contributors". The guideline is agnostic about how the rest of the reference is formatted; it's not meant to be a comprehensive style but rather a modification that can be applied to most existing styles. But it definitely does require leaving out the third author of a four-author publication. – Psychonaut Jun 30 '17 at 19:01
  • 2
    @Psychonaut The proposal does not say anything about the format of author names or punctuation which makes it hard to implement exactly, but you can of course regard this as a feature. (Plus it does not consider the case where in the input someone wrote and others instead of listing authors, but I assume that does not happen.) I'm not really fond of leaving out the third author in a four-author citation, but I will post the necessary modification for that in a few seconds. – moewe Jun 30 '17 at 20:52
6

The author date and verbose styles bundled in the biblatex-archaeology package provide a preservelastauthor option that does exactly what you are asking for. The et Int expression is directed by the \finalnameellipsis command there.

|improve this answer|||||

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.