哈佛克鲁沃书目,缺少文章标题

哈佛克鲁沃书目,缺少文章标题

我正在尝试按照自己喜欢的方式制作参考书目样式,我几乎成功了,但出于某种原因,我无法显示文章标题。我有作者 - 年份 - 期刊 - 卷/期/页,我想要作者 - 年份 - 标题 - 期刊 - 卷/期/页。

我使用 harvard 包和经过修改的 kluwer 样式作为参考,我发现它最适合我想要的确切样式。不过,我修改了其中的一些内容:

添加:

    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 时出现错误:

执行文件 kluwer.bst 的第 1362 行时,无法弹出条目 arnould 的空文字堆栈 执行文件 kluwer.bst 的第 1362 行时,无法弹出条目 arnould 的空文字堆栈 “ 2005” 在执行文件 kluwer.bst 的第 1362 行时对于条目 arnould 来说是字符串文字,而不是函数 执行文件 kluwer.bst 的第 1362 行时,无法弹出条目 arnould 的空文字堆栈 ptr=1,stack= 消费文化理论 (cct):二十年的研究 --- 执行文件 kluwer.bst 的第 1362 行时,条目 arnould 的文字堆栈不为空 等等...

请帮忙?我已经束手无策了……

答案1

好的,经过多次尝试,我终于成功让代码正常工作。新的 article 函数:

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 是导致问题的原因......

相关内容