ハーバード クルーワー 参考文献、記事タイトルが欠落している

ハーバード クルーワー 参考文献、記事タイトルが欠落している

参考文献のスタイルを自分の好みに合わせて作成しようとしていますが、ほぼ成功しましたが、何らかの理由で記事のタイトルが表示されません。著者 - 年 - ジャーナル - 巻/号/ページがありますが、著者 - 年 - タイトル - ジャーナル - 巻/号/ページが欲しいです。

私は参照用に修正された kluwer スタイルの harvard パッケージを使用していますが、まさに私が望むスタイルに最適であることがわかりました。ただし、いくつかの点を変更しました。

追加した:

    FUNCTION {format.url}
{ url empty$
    { "" }
    {   
        " Available from:~\url{" * url * "}" *
    }
  if$
}

かわった:

FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { "Vol." volume tie.or.space.connect
      series empty$
    'skip$
    { " of " * series emphasize * }
      if$
      "volume and number" number either.or.check
    }
  if$
}

そして

FUNCTION {format.vol.num.pages}
    { "Vol. " volume field.or.null
      number empty$
        'skip$
        { "(" number * ")" * *
          volume empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
          if$
        }
      if$
      pages empty$
        'skip$
        { duplicate$ empty$
        { pop$ format.pages }
        { ",~p.~" * pages n.dashify * }
          if$
        }
      if$
    }

私の記事のフォーマットは次のようになります。

FUNCTION {article}
{ output.bibitem
  list.label.output
  " " list.year * output.nonnull
  new.block
  author "author" item.check
  if$
  title.field field.used =
    { skip$ }
    { format.title "title" output.check }
  if$
  crossref missing$
    { journal emphasize "journal" duplicate$ item.check
      " " * format.vol.num.pages * output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  fin.entry
  write.url
}

bibtex を実行すると、次のエラーが発生します:

実行中にエントリ arnould の空のリテラル スタックをポップすることはできません---ファイル kluwer.bst の 1362 行目 実行中にエントリ arnould の空のリテラル スタックをポップすることはできません---ファイル kluwer.bst の 1362 行目 " 2005" は文字列リテラルであり、関数ではありません、実行中にエントリ arnould の空のリテラル スタックをポップすることはできません---ファイル kluwer.bst の 1362 行目 ptr=1、stack= 消費者文化理論 (cct): 20 年間の研究 --- 実行中にエントリ arnould のリテラル スタックは空ではありません---ファイル kluwer.bst の 1362 行目 など...

助けてください。もう困っています...

答え1

さて、何が間違っているのか何度も試した後、なんとかコードを強制的に動作させることに成功しました。新しい記事関数:

FUNCTION {article}
{ output.bibitem
  list.label.output
  " " list.year * output.nonnull
  author "author" output.check
  if$
  title.field field.used =
    { skip$ }
    { format.title "title" output }
  if$
  crossref missing$
    { " " journal emphasize "journal" duplicate$ item.check
      " " * format.vol.num.pages * output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  new.block
  note output
  fin.entry
  write.url
}

item.check が問題を引き起こしていたようです...

関連情報