更改杂项的自定义 Bibstyle 条目(网站)

更改杂项的自定义 Bibstyle 条目(网站)

我有一个自定义的 bibliographystyle.bst文件,但它并没有按照我想要的方式格式化网站条目。目前,bibtex 条目看起来像

@misc{Stotler,
author = {Stotler, Daren},
title = {{Collisional Radiative Model for Helium}},
year = {2013},
url = {https://w3.pppl.gov/degas2/he{\_}crII.txt},
urldate = {2021-06-17}
}

我的论文参考文献列表中的条目如下 在此处输入图片描述

我如何让它也显示urlurldate?我根本不了解.bst文件,也没有找到关于添加我自己的条目的教程(然后我会用它来修改文件中已经存在的条目)。文件的相关部分.bst(或使用 ctrl+f 显示的任何 misc 部分)给了我

FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
  month empty$ year empty$ note empty$
  and and and and and
    { "all relevant fields are empty in " cite$ * warning$ }
    'skip$
  if$
}
FUNCTION {misc}
{ output.bibitem
  format.authors output
  title howpublished new.block.checkb
  format.title output
  howpublished new.block.checka
  howpublished "howpublished" bibinfo.check output
  format.date output
  new.block
  format.note output
  fin.entry
  empty.misc.check
}
FUNCTION {default.type} { misc }
READ
STRINGS { longest.label }
INTEGERS { number.label longest.label.width }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
  #1 'number.label :=
  #0 'longest.label.width :=
}

如果这不是 MWE,请原谅,因为我不知道文件的哪些部分.bst是相关的。我如何修改这些条目的部分以包括urlurldate

答案1

首先,确保您的ENTRY列表中还包含字段urlurldate

ENTRY
  { address
    author
    ...
    title
    year
    url
    urldate
  }

为了从您的条目中提取信息,您可以使用 [1]。确保这些函数粘贴在文件misc中的函数之前.bst

FUNCTION {format.url}
{ url duplicate$ empty$
    { pop$ "" }
    { "\url{" swap$ * "}" * }
  if$
}

FUNCTION {format.urldate}
{ urldate duplicate$ empty$
    { pop$ "" }
    { "~(Accessed: " swap$ * ")" * }
  if$
}

[1]使用 natbib 对 .bst 进行破解,在 BibTex 中的 @misc 中添加 urldate

然后,您可以更新该函数misc,以您希望的任意顺序输出这些字段中的信息,只要它们在 之前即可fin.entry

'new.block' 使用 来分隔项目.,否则,使用 。

FUNCTION {misc}
{ output.bibitem
  format.authors output
  title howpublished new.block.checkb
  format.title output
  howpublished new.block.checka
  howpublished "howpublished" bibinfo.check output
  format.date output
  new.block
  format.note output
  format.urldate output
  format.url output
  fin.entry
  empty.misc.check
}

您还可以复制鲍里斯的回复[1] 将两者同时url输出,urldate,两者之间没有关系。

驯服野兽由 Nicolas Markey 撰写,进一步了解如何定制您的“.bst”文件以生成您想要的输出。

相关内容