pandoc - 生成 HTML 时在 Pandoc 中按年份组织引用
问题描述
我对 Pandoc 比较陌生,我正在尝试用我的出版物生成一个 HTML 文件,以放在我的网站上。我希望出版物列表按年份编号和组织,最新的在前,最旧的在后。
我可以使用正确的文件得到很好的编号csl
,但我无法对年份进行排序。问题是我不是我所有出版物的第一作者,所以最终发生的事情是它们首先按字母顺序排列,然后按日期排列,这不是我想要的。
biblatex
通过使用选项(年份(降序),名称,标题),我可以在生成 PDF 时得到我想要的结果sorting=ydnt
,但是由于 Pandoc 不使用 biblatex 来生成对 HTML 的引用列表,所以我不能使用这个战术在这里。
我能看到如何解决这个问题的唯一方法是在Zotero 风格的 repo中获得一种引用风格,它可以满足我的需求,但我一直找不到。所以我试图修改一个来做到这一点,但没有成功。
这个答案教了一种改变排序风格的方法,所以我试图手动改变英国皇家学会会刊B风格的排序风格。具体来说,我正在改变
<sort>
<key variable="citation-number"/>
</sort>
至
<sort>
<key macro="issued" sort="descending"/>
<key macro="author"/>
</sort>
但这不起作用(可能是因为这只会改变文本引用的排序,而不是参考列表)。我已经尝试了其他一些东西,但我找不到有用的东西!
我猜这无关紧要,但我正在使用 Pandoc 2.7.3
,citeproc
版本0.16.2
和我正在运行的文件是:
---
bibliography: selectedpubs.bib
nocite: '@*'
linestretch: 1.5
fontsize: 12pt
output:
html:
output: pubpage.html
filter: pandoc-citeproc
csl: prsb2.csl
...
该文件prsb2.csl
只是英国皇家学会会刊 B csl。
解决方案
您有正确的想法,但误解了链接的线程。而不是更改引文的排序键,您需要将排序添加到参考书目,即
<bibliography second-field-align="flush" et-al-min="11" et-al-use-first="10">
<sort>
<key macro="issued" sort="descending"/>
<key macro="author"/>
</sort>
<layout>
除了修改样式,您还可以使用存储库中已经存在的APA-CV样式
推荐阅读
- amazon-web-services - API 网关与 Lambda 和 DynamoDB 的集成
- anylogic - 任何逻辑的统计数据
- awk - awk 为测试元素创建一个列表
- django - 'str' 和 'int' 的实例之间不支持 /formpage '>' 处的 TypeError 错误也特定于 form.is_valid
- git - 从存储库推送和拉取
- r - 努力理解 Q1 计算
- python - 使用 Python Beautiful Soup 在 Web 抓取中提取价值
- python - 检查numpy数组窗口中的元素是否有限的更快方法
- azure - 是否可以通过用户租户上的 ARM 模板在 Azure 上自动注册应用程序?
- c++ - 通过不考虑所有分隔符的分隔符循环分割字符串