apalike2 - 複数の著者

apalike2 - 複数の著者

私はapalike2の修正版を使用しています。

現時点では、出力は次のようになります。

オニール、ジョン・R.、ラセット、ブルース、バーバウム、マイケル・L.(2003)「平和の原因:民主主義、相互依存、国際組織、1885-1992」国際研究季刊誌、47(1)、371–393。

しかし、私は次のようにしたいのです:

オニール、ジョン・R、ブルース・ラセット、マイケル・L・バーバウム(2003年)『平和の原因:民主主義、相互依存、国際組織、1885-1992』国際研究季刊誌、47(1)、371–393。

この特殊なケースで、2番目と3番目(など)の著者のvv/ll/jj/ffの順序を変更するにはどうすればよいですか?

format.names 関数は次のとおりです。

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=   % last name first
      nameptr #1 >
    { namesleft #1 >
        { ", " * t * }
        { numnames #2 >
        { "," * }
        'skip$
          if$
          t "others" =
        { " et~al." * }
        { " \& " * t * }    % changed from " and " for names -- BJR 10/5/89
          if$
        }
      if$
    }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

答え1

(i) のコピーを作成しapalike2.bst、そのコピーに (たとえば) という名前を付けmyapalike2.bst、(ii)names.format関数全体を次のコードに置き換えることをお勧めします。

FUNCTION {format.names}
{ duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      duplicate$ #1 >
        { "{ff~}{vv~}{ll}{, jj}" }
        { "{vv~}{ll}{, jj}{, ff}" }
      if$
      format.name$
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { " \& " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}

新しいコードの詳細を説明するのは面倒ですが、主な違いは、1行の

s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=

旧関数の

    { namesleft #0 > }
    { s nameptr
      duplicate$ #1 >
        { "{ff~}{vv~}{ll}{, jj}" }
        { "{vv~}{ll}{, jj}{, ff}" }
      if$
      format.name$
      't :=

結局のところ、フォーマットされるのが最初の著者名か、それとも後から出てきた著者名かによって、2 つの異なるフォーマット ルールが提供されることになります。

ファイルをmyapalike2.bstメインの tex ファイルと同じディレクトリに保存するか、BibTeX によって検索されるディレクトリに保存します。2 番目の方法を選択する場合は、TeX ディストリビューションのファイル名データベースを適切に更新してください。

指示に従って、新しい参考文献スタイルの使用を開始します\bibliographystyle{myapalike2}。すべての変更を完全に反映するには、必ず LaTeX、BibTeX、LaTeX をあと 2 回実行してください。

BibTeXを楽しんでください!

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{oneal:2003,
  author = "Oneal, John R. and Russett, Bruce and Berbaum, Michael L.",
  year  =  2003, 
  title = "Causes of Peace: {Democracy}, Interdependence, and International Organizations, 1885--1992", 
  journal = "International Studies Quarterly", 
  volume  = 47,
  number  = 1, 
  pages   = "371-393",
}
\end{filecontents*}
\usepackage{natbib}  % citation management package
\begin{document}
\cite{oneal:2003}
\bibliographystyle{myapalike2}  % the new bibliography style
\bibliography{\jobname} 
\end{document}

関連情報