我已将这个问题移至 SO,因为它涉及 Pandoc、citeproc 和 CSL,但不涉及 biblatex。请回答那里如果可以的话。
我有一个由 R 自动生成的 biblatex 文件,其中包含 R 包的引文。Pandoc 将使用选项处理该文档--citeproc
;该包使用 CSL 样式。例如,它包含
@Manual{R-tables,
title = {tables: Formula-Driven Table Generation},
author = {Duncan Murdoch},
note = {R package version 0.9.21},
url = {https://dmurdoch.github.io/tables/},
year = {2023},
}
我希望使用此方法的参考列表包含所有内容,但到目前为止,我尝试过的所有 CSL 样式都跳过了note
,所以我得到了类似
默多克,邓肯。2023 年。表格:公式驱动的表格生成。 https://dmurdoch.github.io/tables/。
当我希望它看起来像
默多克,邓肯。2023 年。表格:公式驱动的表格生成。R 包版本 0.9.21。 https://dmurdoch.github.io/tables/。
有人可以建议如何找到显示note
类似的 CSL 样式吗?
编辑并添加:
我找到了一个足够好的解决方法,但我仍然对我的问题的答案感兴趣。如果我更改note
为edition
显示,对我来说看起来没问题。但下次出现这种情况时,我该如何搜索显示特定字段的样式?
再次编辑:
有一条评论要求提供一份独立的演示。我在下面附上了一份。原文是用 R Markdown 编写的,但我将其简化为纯 Markdown。将下面的文本放入test.md
,将上面的 .bib 条目放入packages.bib
,然后运行
pandoc test.md --output test.html --citeproc
你应该得到如下输出:
---
bibliography: packages.bib
---
## The citation
This is a citation of the *tables* package [@R-tables].
## References
我认为这可能实际上不涉及biblatex
,但我的理解是 Pandoc 应该模拟它。所以也许我在错误的地方问了这个问题,或者用了错误的标签。但无论如何,任何建议都会受到赞赏。
答案1
(评论太长,因此作为答案发布)
note
我认为声称该领域“不寻常”并不正确。
如果我biblatex
没有任何选项地加载,我会得到一个格式化的 bib 条目,它接近 OP 所说的他们想要的和包括字段的内容note
。
我想可以添加适当的指令来显示“姓氏,名字”格式的姓名,在作者字段后立即显示出版年份,并抑制前缀URL:
。
\documentclass{article}
\begin{filecontents}[overwrite]{mybib.bib}
@Manual{R-tables,
title = {Tables: Formula-Driven Table Generation},
author = {Duncan Murdoch},
note = {R~package version 0.9.21},
url = {https://dmurdoch.github.io/tables/},
year = {2023},
}
\end{filecontents}
\usepackage{biblatex}
\addbibresource{mybib.bib}
\usepackage{xurl}
\begin{document}
\cite{R-tables}
\printbibliography
\end{document}