テキスト内の2人の著者が「and」で区切られるようにbstファイルを変更します

テキスト内の2人の著者が「and」で区切られるようにbstファイルを変更します

論文用にカスタム.bstファイルを使用する必要があります。参考文献に2人の著者がいる場合、これらの著者は分離されます。テキスト内, で区切られます。
たとえば、(Simonyan 、Zisserman、2014) です。(Simonyan and Zisserman、2014) にしたいのですが。
私の参考文献ではスタイルは正しいです。では、.bst ファイルを変更する必要があるのでしょうか?
関連する行は次のとおりだと思います。

INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 's :=
  'f :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr f format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { t "others" =
                { " et~al." * }
                { ", " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { "{vv~}{ll}{, jj}{, f.}" author format.names }
  if$
}

答え1

関連するマクロは ですformat.lab.names.abbr。「and」については、次のように記述する必要があります。

FUNCTION {format.lab.names.abbr}
{ 's :=
  s num.names$ 'numnames :=
  numnames #1 >
    { numnames #2 >
        { s #1 "{vv~}{ll}" format.name$ " et al." * }
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            { s #1 "{vv~}{ll}" format.name$ " et al." * }
            { s #1 "{vv~}{ll}" format.name$ " and " *
              s #2 "{vv~}{ll}" format.name$ * 
            }
          if$
        }
      if$
    }
    { s #1 "{vv~}{ll}" format.name$ }
  if$
}

isprs.bst変更は最も内側の条件の2番目の分岐にあります。現在入手可能なバージョンはhttp://www.isprs.org/documents/orangebook/app5.aspxもっている

s #1 "{vv~}{ll}" format.name$ " , " * % replaced and with ,

そこに私たちはそれを読んでいます

s #1 "{vv~}{ll}" format.name$ " and " *

もう一度。コメントと、カンマの前の不要な空白に注意してください。


もちろん、この問題はテンプレートの管理者に報告する必要があり、.bstファイルを直接変更しないでください。変更と名前変更したコピーのみを行い、isprs-and.bst変更内容を文書化してください。

関連情報