我正在使用此程序在我的网页上显示出版物。实施完所有步骤后,我发现当我填充文件时.bib
,结果显示会按随机年份顺序对所有内容进行排序。此外,有些条目的年份相同,但仍有自己的类别,这意味着人们不会看到 2011 年的所有出版物都列在 2011 年下,而是会看到 2011 年下的一些条目,然后是另一个 2011 年下的其他条目,位置随机。由于我尝试了一段时间后仍无法修复该代码,因此我现在正在寻找可以按.bib
年份反向排序文件中条目的方法,以便我可以在我的网页上显示出版物。
我曾见过其他解决方案,它们讨论了在 LaTeX 文档中对引用进行反向排序,但在这种情况下,我没有引用任何内容,所以我不想创建文档.tex
然后创建\cite
我所有的出版物,只是为了能看到它们。
如何对.bib
文件中的出版物进行反向排序以显示在我的网页上?
答案1
.bib
您可以使用 Biber 按年份降序对现有文件进行排序。
创建一个名为的文件,ydsort.conf
其内容如下。
<?xml version="1.0" encoding="UTF-8"?>
<config>
<output_align>true</output_align>
<output_fieldcase>lower</output_fieldcase>
<sortingtemplate name="tool">
<sort order="1" sort_direction="descending">
<sortitem order="1">year</sortitem>
</sort>
</sortingtemplate>
</config>
然后在工具模式下调用Biber
biber --tool --configfile=ydsort.conf <yourbibfile>.bib
这将生成一个名为<yourbibfile>_bibertool.bib
标准 Biber--tool
模式注意事项适用:防止 `biber --tool` 删除 .bib 文件中的非标准字段. 只有数据模型中已知的字段才能在工具模式下生存(因此,如果您使用标准数据模型无法识别的字段,则必须在自定义数据模型中让 Biber 知道它们,请参阅gusbrs 的回答)。
您还可以尝试BibTool程序。我没有在我的系统上安装它,但我相信
bibtool -S --sort.format='{%4d($year)}' -i <yourbibfile>.bib -o <yourbibfile>_sorted.bib
可能就是你想要的。
根据您的操作系统,您可能需要在此处使用双引号("
)而不是单引号('
)。