Verwendung des Zitiersystems „et Int“

Verwendung des Zitiersystems „et Int“

Ich schreibe einen Förderantrag, bei dem die Förderagentur den folgenden platzsparenden Stil für Einträge im Literaturverzeichnis vorschreibt:

Veröffentlichungen mit mehreren Autoren können wie folgt zitiert werden: Erstautor, Zweitautor usw., Letztautor.

Offensichtlich ist dies nicht etwas, das die Förderagentur erfunden hat; der Zitierstil „et Int“ wurde vorgeschlagen inWissenschaftsredakteurim Jahr 2003 [1], also hat es offensichtlich seitdem an Bedeutung gewonnen. Aber ich kann beim besten Willen nicht herausfinden, wie das in Biblatex geht (oder ob es überhaupt möglich ist). Habe ich im Handbuch (für Version 3.7) etwas übersehen oder muss ich mir eine eigene Lösung ausdenken?

Ich weiß, dass du es kannstkürzendie Anzahl der Namen, die mit den Optionen minbibnamesund gedruckt werden maxbibnames, aber soweit ich das beurteilen kann, enden gekürzte Namenslisten immer mit der festen Zeichenfolge "et al." (oder was auch immer der Wert von andothersim Bibliographiestil ist). Wäre es möglich, den Wert von dynamisch zu ändern, andotherssodass er "et int, ", gefolgt vom Namen des letzten Autors (oder Herausgebers) des gerade gedruckten Bibliografieeintrags?

[1] Sergei A. Grando und Jeffrey D. Bernhard.„Erster Autor, Zweitautor, et al. und Letzter Autor“: Ein vorgeschlagenes Zitiersystem für biomedizinische Artikel. Wissenschaftsredakteur26(4):122–123, Juli–August 2003.

Antwort1

Leider war in dem Dokument nicht ganz klar zu erkennen, welche genauen Details des vorgeschlagenen Stils zu erwarten sind, Sie müssen sich daher vorerst mit meiner Interpretation zufrieden geben.

Diese Implementierung lässt „intervenierende Autoren“ weg, wenn es sich um zwei oder mehr Autoren handelt (es erscheint unfair, nur einen Autor durch „et int.“ zu ersetzen, wir können ihn genauso gut vollständig benennen) nach der Autorennummer bbx:etinttruncund vor dem letzten Autor. Im Beispiel bbx:etinttruncist wie in Ihrer Frage zwei eingestellt.

Ich nehme an, es wäre einfacher, wenn Biber dies nativ unterstützen würde, aber so funktioniert es auch.

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}

Beispielausgabe


Wenn Sie in einem Werk mit vier Autoren den dritten Autor weglassen müssen, benötigen Sie eine etwas einfachere \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}}

Antwort2

Die im Paket enthaltenen Autorendatum- und ausführlichen Stile biblatex-archaeologybieten eine preservelastauthorOption, die genau das tut, was Sie suchen. Der et IntAusdruck wird dort durch den Befehl gesteuert \finalnameellipsis.

verwandte Informationen