「et Int」引用システムの使用

「et Int」引用システムの使用

私は助成金申請書を書いていますが、資金提供機関は参考文献の項目に次のような省スペーススタイルを指定しています。

複数の著者がいる出版物は、次のように引用できます: 第一著者、第二著者、et int、最終著者。

どうやらこれは資金提供機関が発明したものではないようだ。「et Int」引用スタイルは、科学編集者2003年に[1]登場したので、明らかにそれ以来注目を集めています。しかし、Biblatexでこれをどうやって行うのか(あるいはそもそもこれが可能なのか)がどうしてもわかりません。マニュアル(バージョン3.7用)で何か見落としているのでしょうか、それとも自分で解決策を考えなければならないのでしょうか?

君ならできると知っている切り捨てるminbibnamesおよびオプションを使用して印刷される名前の数ですmaxbibnamesが、私が知る限り、切り捨てられた名前リストは常に固定文字列「andothers「(または参考文献スタイルで の値が何であれ)。 の値を動的に変更してandothers、「と int、" の後に、印刷中の参考文献項目の最後の著者 (または編集者) の名前が続きますか?

[1] セルゲイ・A・グランドとジェフリー・D・ベルンハルト「第一著者、第二著者、et Int、および最終著者」: 生物医学論文の引用システム提案。 科学編集者26(4):122–123、2003年7月-8月。

答え1

残念ながら、論文では提案されたスタイルの実際の詳細があまり明確に説明されていなかったため、当面は私の解釈に従うしかありません。

この実装では、著者が 2 人以上の場合 (1 人の著者だけを「et int.」に置き換えるのは不公平なので、著者名をフルネームで表記したほうがよいでしょう)、著者番号の後bbx:etinttrunc、最後の著者の前にある「介在著者」を省略します。例では、bbx:etinttrunc質問にあるように 2 に設定されています。

Biber がこれをネイティブにサポートしていれば、物事はもっと簡単になると思いますが、このようにも動作します。

ムウェ

\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}

出力例


4 人の著者がいる作品で 3 人目の著者を省略する必要がある場合は、もう少し単純な が必要です\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}}

答え2

パッケージにバンドルされている作成者日付と詳細スタイルは、まさにあなたが求めているものを実行するオプションbiblatex-archaeologyを提供します。表現は、そこにあるコマンドによって指示されます。preservelastauthoret Int\finalnameellipsis

関連情報