[Tex/LaTex] Dataset reference style in BibTeX

bibliographieselsarticle

I am writing a Journal Paper which wants datasets to be listed in the reference as

[dataset] Authors; Year; Dataset title; Data repository or archive; Version (if any); Persistent identifier (e.g. DOI),

where "[dataset]" at the beginning is literal. The type of other references (articles, books, etc) does not need to be prefixed in this way. I have already seen the solution given for it at the following link

Dataset reference style in BibLaTeX

But unable to understand. Please help me with working code.
My code is available at

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

and my bibliography file name is mybibfile.bib with following contents

@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}
}

my LaTex code is using bibtex. Please giive your suggestion. My LaTex code is

\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{abc@gmail.com} 
\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}
```````

Best Answer

I had the same issue. I had to edit the bibliography style to get it to work. Here is what I did:

Edit: In this case, I used the model5-names.bst from Elsevier journals. (I believe it's the one for APA citations, if I am not mistaken).

First I created a bbl function to print "[Dataset]". You can just copy an existing one and edit it, for me this worked:

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

Secondly, I checked the type of reference I had for my data-sets. In this case, it was an article.

I looked for the block called FUNCTION{article}, duplicated it, and renamed it to datasetype. Finally, I added my bbl.datasetbracket function to it.

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
}

Now I just call the reference on my bib file as @datasetype{blabla, ...}

Related Question