我想引用一个发布在网站(git 存储库)上的软件。该@software
条目似乎最适用,但该@misc
条目有一个type
软件字段。一个最小示例
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\begin{filecontents}{test.bib}
@Misc{Foo2019,
author = {Authors},
title = {Foo},
type = {software},
url = {https://example.com},
urldate = {2019-12-12},
year = {2019},
}
@Software{Foo2019b,
author = {Authors},
title = {Foo},
url = {https://example.com},
urldate = {2019-12-12},
year = {2019},
}
\end{filecontents}
\addbibresource{test.bib}
\begin{document}
My cite~\cite{Foo2019,Foo2019b}.
\printbibliography
\end{document}
然而,只有@misc
被打印为
[Aut19] 作者.Foo.Comp.software.2019。
使用alphabetic
样式。而条目中却没有写“Comp. 软件” @software
。这是为什么呢?
答案1
我无法重现该 URL 问题,因为标准样式会打印 URL,除非明确指示另行执行(使用url=false,
)。
如果我们记住 MWE 的@software
处理方式与标准样式完全相同,那么 MWE 的结果就是预期的@misc
。因此,如果没有type
字段,@software
则不会显示类型。
不过,使用源映射自动添加该类型字段并不难。
\documentclass{article}
\usepackage[backend=biber]{biblatex}
\DeclareSourcemap{
\maps[datatype=bibtex, overwrite=false]{
\map{
\step[typesource=software, final]
\step[fieldset=type, fieldvalue={software}]
}
}
}
\begin{filecontents}{\jobname.bib}
@misc{Foo2019a,
author = {Authors},
title = {Foo},
type = {software},
url = {https://example.com},
urldate = {2019-12-12},
year = {2019},
}
@software{Foo2019b,
author = {Authors},
title = {Foo},
url = {https://example.com},
urldate = {2019-12-12},
year = {2019},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
My cite~\autocite{Foo2019a,Foo2019b}.
\printbibliography
\end{document}
如果你认为type
条目字段@software
应该自动填充software
,你可以在https://github.com/plk/biblatex/issues来讨论这个问题。