bibulous 可以按字母顺序排列参考文献吗?

bibulous 可以按字母顺序排列参考文献吗?

我想嗜酒的制作自定义格式的参考文献。事实上,我的目标是对amsplainbibtex 样式进行小幅修改。该样式按字母顺序对所有出现的参考文献进行排序,并按字母顺序编号。我无法使用 bibulous 重现此行为。相关选项是citelabelsortkey。基本上citelabel应该是“按字母顺序排列的数字”并且sortkey应该等于<citelabel>。我能得到的最佳近似值是以下按字母顺序排序,但也放置按字母顺序组成的标签。

TEMPLATES:
article = <au>, <title>, <journal> <volume> (<year>) <startpage> -- <endpage>.

SPECIAL-TEMPLATES:
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [<authorlist.n.prefix> ]<authorlist.n.last>[ <authorlist.n.first.initial()>.][ <authorlist.n.middle.initial()>.][,  <authorlist.n.suffix>.]
au = <authorname.0>, ..., <authorname.9>
ed = [<editorlist.0.first.initial()>. ][ <editorlist.0.middle.initial()>. ][<editorlist.0.prefix> ]<editorlist.0.last>[,  <editorlist.0.suffix>.]
citelabel = <citealpha>
sortkey = <citelabel>

如果我更改citelabel为,<citenum>那么参考文献将按照在文档中出现的顺序进行编号,而这并不是我想要的。

请不要建议 bibtex 解决方案,我知道它们存在,但我想用 bibulous 来解决这个问题。

答案1

我确认 Bibulous 无法实现您想要的功能,因为它无法访问一个变量,该变量给出了参考文献在参考文献列表中的排序数字顺序。所以我添加了它。现在可以通过下载Bibulous.py 位于 Bibulous 的 GitHub 页面上立即,并将在下次更新中通过 pip(Python 的包管理器系统)提供。

现在,每个引用都有一个始终可用的变量,称为“sortnum”。因此,现在您可以通过定义以下两个特殊模板来实现您想要的效果:

sortkey = [<authorlist.0.last><authorlist.0.first><year>|<editorlist.0.last><editorlist.0.first><year>]
citelabel = <sortnum>

这将按作者姓氏(或编辑姓氏,如果前者未定义)对参考文献进行排序。它还将作者的名字和年份添加到排序键中,以使键唯一,以防有多个参考文献具有相同的作者姓氏。

排序后,此模板定义使用引用的数字顺序作为引用标签。在 Bibulous 上运行此模板示例 #2,结果如下

在此处输入图片描述

相关内容