BibTeX 中的数据集参考样式

BibTeX 中的数据集参考样式

我正在撰写一篇期刊论文,希望将数据集列在参考文献中

[数据集] 作者;年份;数据集标题;数据存储库或档案;版本(如果有);持久标识符(例如 DOI),

其中开头的“[dataset]”是文字。其他参考文献(文章、书籍等)的类型不需要以这种方式添加前缀。我已经在以下链接中看到了针对它的解决方案

BibLaTeX 中的数据集参考样式

但无法理解。请帮我提供可用的代码。我的代码可在

https://www.overleaf.com/1777417966pvxjpytpthkj

我的书目文件名mybibfile.bib包含以下内容

@article{gross2010multi,
  title={Multi-pie},
  author={Gross, Ralph and Matthews, Iain and Cohn, Jeffrey and Kanade, Takeo and Baker, Simon},
  journal={Image and Vision Computing},
  volume={28(5)},
  number={5},
  pages={807--813},
  year={2010},
  publisher={Elsevier}
}

我的 LaTex 代码使用 bibtex。请给出你的建议。我的 LaTex 代码是

\documentclass[review]{elsarticle}
\usepackage{array}
\bibliographystyle{model5-names}
\biboptions{authoryear}
\begin{document}
\begin{frontmatter}
\title{xyz}
\author{abc}
\corref{mycorrespondingauthor}
\cortext[mycorrespondingauthor]{Corresponding author}
\address{Research Scholar,}
\ead{[email protected]} 
\begin{abstract}
jhjasvhjsh hjshjhjvhjsvh jjkjbkjbkjk jvkjvzjvkjvkj 
\end{abstract}
\begin{keyword}
abc \sep xyz. 
\end{keyword}
\end{frontmatter}
\section{Introduction}
Text-only mode can also be used for someone who is blind or hard of seeing and only needs the text read to them \citep{gross2010multi}.
\bibliography{mybibfile}
\end{document}
```````

答案1

我遇到了同样的问题。我不得不编辑参考书目样式才能使其正常工作。以下是我所做的:

编辑:在这种情况下,我使用了model5-names.bstElsevier 期刊的。(如果我没记错的话,我相信它是用于 APA 引用的)。

首先,我创建了一个 bbl 函数来打印“[Dataset]”。您可以复制一个现有的并进行编辑,对我来说,这是可行的:

FUNCTION {bbl.datasetbracket}
{ "[Dataset]" }

其次,我检查了我的数据集的引用类型。在本例中,它是article

我找到名为 的块FUNCTION{article},复制它,并将其重命名为datasetype。最后,我将我的bbl.datasetbracket函数添加到其中。

FUNCTION {datasetype}
{ "%Type = Article" write$
  output.bibitem
  bbl.datasetbracket
  format.authors "author" output.check
  author format.key output
  format.date "year" output.check
  date.block
  format.title "title" output.check
  new.block
  crossref missing$
    {
      journal
      "journal" bibinfo.check
      emphasize
      "journal" output.check
      ", " *
      format.vol.num.pages output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  print.url output
  print.doi output
  print.eprint output
  print.pubmed output
  new.block
  format.note output
  fin.entry
}

现在我只需将我的 bib 文件中的参考文献称为@datasetype{blabla, ...}

答案2

灵感来自用户2434449,这里有一个稍微小一点的版本,对我来说效果更好。它避免了 BibTex 错误:“文字堆栈不为空”。

  1. 无需创建FUNCTION {bbl.datasetbracket},直接输出 中的文本FUNCTION {datasetype},然后跟write$
  2. 我建议使用FUNCTION {misc}而不是FUNCTION{article}作为克隆的起点,以避免出现缺少日志的警告。
  3. 请注意,Overleaf 似乎缓存了 Bibtex 结果,我不得不注释/取消注释整个\bibliographystyle命令,然后在中间重新编译以使来自.bst文件的更改出现。

因此,我的食谱如下:

  1. 打开相应的.bst文件,我使用哈佛\bibliographystyle{model2-names.bst}风格爱思唯尔医学图像分析杂志。
  2. 转到该函数FUNCTION {misc}并将块复制到新函数FUNCTION {datasettype}(我避免使用该名称dataset以避免与 BibLatex 中现有内容发生冲突。)
  3. "[dataset] " write$在第一个后添加output.bibitem,参见下面的示例。
  4. @datasettype{...}在您的文件中使用.bib
  5. 是的,我确实认为 Elsevier 需要更新他们的模板来正确解决和记录这个问题!
FUNCTION {datasettype}
{ "%Type = Dataset" write$
  output.bibitem
  "[dataset] " write$ 
  format.authors output
  author format.key output
  format.date "year" output.check
  date.block
  format.title output
  new.block
  howpublished "howpublished" bibinfo.check output
  new.block
  print.url output
  print.doi output
  print.eprint output
  print.pubmed output
  format.note output
  fin.entry
}

相关内容