
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 minbibnames
und 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 andothers
im Bibliographiestil ist). Wäre es möglich, den Wert von dynamisch zu ändern, andothers
sodass 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:etinttrunc
und vor dem letzten Autor. Im Beispiel bbx:etinttrunc
ist 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}
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-archaeology
bieten eine preservelastauthor
Option, die genau das tut, was Sie suchen. Der et Int
Ausdruck wird dort durch den Befehl gesteuert \finalnameellipsis
.