Bibtex Hack - 在 else-harv.bst 中为 bibtex 将输出类型添加到 misc 中

Bibtex Hack - 在 else-harv.bst 中为 bibtex 将输出类型添加到 misc 中

我正在使用 Windows、Lyx、Jabraf、Bibtex 和 else-harv.bst

添加字段至 misc

我想将类型为 misc 的输出文件添加到我的 else-harv.bst 文件中。也就是说,我想包括:

字幕

机构

日期

按照与上述相同的顺序,这样输出将是:

作者、标题、副标题、机构、日期、出版方式

甚至更好:

解决这个问题的更好的方法是让 bibtex 显示在 Jabraf 中以杂项类型输入的所有字段。

在论坛上搜索了一下,我还没有找到任何解决方案,因此非常感谢您的帮助。请注意,我是一名菜鸟程序员,所以我希望我的问题可以得到解决。

示例杂项条目

@Misc{testmiscentry,
  author       = {Doe, John},
  title        = {This is a title}},
  subtitle     = {This is a subtitle},
  year         = {2016},
  date         = {2016-08-26},
  institution  = {Test Bank}
  howpublished = {Personal communication},
}

编辑

由于这个问题没有引起太多的关注,因此我非常希望能够提供不完整的答案,但可以作为开始。

Latex 最小示例

\documentclass[11pt,twoside,british,openright, bibliography=totoc]{scrreprt}
\usepackage{helvet}
\usepackage[authoryear]{natbib}
\begin{document}

\citet{testmiscentry}

\bibliographystyle{C:/Users/[....]/else-harv.bst}
\nocite{*}
\bibliography{test_bib}

\end{document}

请注意,bibliographystyle 路径并不完整。我没有包含整个 Lyx 导出的 Latex 代码,但我认为这些是相关的内容。

编辑

我设法通过添加来包含机构字段

  institution "institution" output.check

在 misc 函数中,以便:

FUNCTION {misc}
{ output.bibitem
  format.authors output
  author format.key output
  format.date "year" output.check
  date.block
  format.title output
  new.sentence
  institution "institution" output.check
  howpublished output
  format.note output
  fin.entry
  write.url
}

我可以不让字幕工作,但我真的很感激一些帮助将其date添加到输出中。

答案1

您必须对 bst 文件进行几项修改:

1) 将datesubtitle添加到ENTRY

ENTRY
  { address
    author
    booktitle
    chapter
    date
    edition
    editor
    howpublished
    institution
    journal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    subtitle
    title
    type
    url
    volume
    year
  }
  {}
  { label extra.label sort.label short.list }

2)定义两个新函数format.mydateformat.subtitle

FUNCTION {format.mydate}
{ date empty$
    { "" }
    { date }
  if$
}

FUNCTION {format.subtitle}
{ subtitle empty$
    { "" }
    { subtitle "t" change.case$
    }
  if$
}

3)修改功能misc

FUNCTION {misc}
{ output.bibitem
  format.authors output
  author format.key output
  format.date "year" output.check
  date.block
  format.title output
  format.subtitle output
  new.sentence
  institution output
  format.mydate output
  howpublished output
  format.note output
  fin.entry
  write.url
}

此外,请注意,您的 bib 文件不正确。它应为:

@Misc{testmiscentry,
  author       = {Doe, John},
  title        = {This is a title},
  subtitle     = {This is a subtitle},
  year         = {2016},
  date         = {2016-08-26},
  institution  = {Test Bank},
  howpublished = {Personal communication}
}

相关内容