我提交的期刊希望将数据集列在参考文献中
[数据集] 作者;年份;数据集标题;数据存储库或档案;版本(如果有);持久标识符(例如 DOI),
其中开头的“[dataset]”是文字。其他参考文献(文章、书籍等)的类型不需要以这种方式添加前缀。
biblatex
有一个@dataset
入口类型,并且我已经使用这个接近目标了:
\documentclass{article}
\usepackage[style=apa]{biblatex}
\begin{filecontents}{\jobname.bib}
@dataset{test,
author = {The Author},
title = {Very Big and Important Dataset},
year = {2020},
doi = {XX.XXXX/XXX.XXXX.XXXXXXXX},
publisher = {Dryad}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Text \parencite{test}.
\printbibliography
\end{document}
这看起来不错,但是我怎样才能将其[dataset]
添加到开头?
答案1
对于大多数biblatex
样式,您可以通过重新定义 bibmacro 来挂接到条目的开头begentry
。然后只需检查条目类型并打印合适的字符串即可。
的原始定义begentry
可以在apa.bbx
(第 673-674 页)。
\documentclass{article}
\usepackage[style=apa]{biblatex}
\NewBibliographyString{dataset}
\DefineBibliographyStrings{english}{
dataset = {dataset},
}
\renewbibmacro{begentry}{%
\ifkeyword{meta}{\textsuperscript{*}}{}%
\ifentrytype{dataset}
{\bibstring[\mkbibbrackets]{dataset}%
\setunit{\addspace}}
{}%
}
\begin{filecontents}{\jobname.bib}
@dataset{test,
author = {The Author},
title = {Very Big and Important Dataset},
year = {2020},
doi = {XX.XXXX/XXX.XXXX.XXXXXXXX},
publisher = {Dryad},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Text \autocite{test}.
\printbibliography
\end{document}
我认为这种标记不是特别有用。大多数关心的读者可能很快就能看出该条目是一个数据集。我发现最成问题的是“[数据集]”在视觉上屏蔽了参考书目中的“作者 2020”,但“作者 2020”与排序相关。