如何排序(按任何键)`.bib` 文件中的 BibTex 条目?

Grz*_*cki 14 git text-processing sort latex

我使用 LaTeX 并使用 Git 进行版本控制。对于书目管理,我使用 Mendeley。

问题是每次 Mendeley 同步它的.bib导出时,它们的顺序不同,这使得书目版本控制变得更加困难。

我的想法是在.bib每次提交之前对文件中的BibTex 条目进行排序。

你能帮我吗,如何以智能(短而甜蜜)的方式做到这一点?:)

PS我可以手动运行这个程序。我不需要 git 集成。我只想要程序/脚本对.bib文件进行排序。

sr_*_*sr_ 9

怎么样bibsort

NAME
     bibsort - sort a BibTeX bibliography file

SYNOPSIS
     bibsort [optional sort(1) switches] < infile >outfile

DESCRIPTION
     bibsort filters a BibTeX bibliography, or bibliography frag-
     ment,  on  its standard input, printing on standard output a
     sorted bibliography.
Run Code Online (Sandbox Code Playgroud)

它是一个 shell 脚本包装nawk(和tr,sortgrep),包括两个您可能需要注意的警告(请参阅源代码)。

编辑还有很多与bibtex 相关的 Perl 模块......)

Edit2我刚刚认识到你想对任何键进行排序,虽然bibsort显然只按bibtex 标签排序- 但也许它的来源(它不是太长)仍然有帮助......?


Art*_*sov 7

您可以将bibtool-s选项 - 根据参考键排序)与 git post-commit 挂钩一起使用。