在多个 .bib 数据库中解析不同记录的相同密钥

在多个 .bib 数据库中解析不同记录的相同密钥

我正在处理多个.bib数据库,例如first.bib,,,等等second.bibthird.bib

在这些bib文件中,不同的记录存在相同的密钥,比如一个作者在一年内写了两篇论文,并且为它们生成的密钥是相同的authorname2018,但实际上是不同的论文。

首选项中的设置只能解决一个.bib文件中的问题, 在此处输入图片描述

所以我的问题是如何.bib在导入记录时在多个文件之间生成不同的密钥,而不将这些.bib文件合并为一个.bib文件?

答案1

解决方案非常明显:由于 BibTeX 密钥生成器的默认模式[auth][year]可以在任何其他文件中重复,但 JabRef 无法检查这一点,因此,责任在你:你必须提供另一个模式,确保始终生成唯一的密钥。例如:

  • [auth][year][firstpage]或者如果这还不够......

  • [authorIni][year][firstpage]。这个使用第一个作者姓氏的前 5 个字符,以及其余作者的姓氏首字母。但如果这还不够(!),还可以添加或 [shorttitle][keyword3]请参阅程序的帮助。还有更多选项...

但是如果你已经使用过[auth][year]它,那么检查每个键是如何变化的可能就很困难了。而且长键很难记住。所以另一种方法是根据数据库构造键,例如使用[auth][year]Ffirst.bib、[auth][year]Ssecond.bib 等等。然后你就可以准确预测键是如何变化的。而且它仍然是一个方便的键。

据我所知,模式偏好对于所有数据库都是全局的,即,您不能为特定数据库存储特定模式,但是由于您可以在一秒钟内重新生成所有键,因此无论何时更改偏好似乎都是一个微不足道的问题。

嗯,...另一个选择是合并文件。你不喜欢这个,但我认为这是最好的选择,因为它[auth][year]为所有引用生成相同的简单且唯一的键。而且你仍然可以将来源标识为关键字。

值得注意的是,biblatex 可以根据关键字打印引用参考文献的子集,因此这不是拆分数据库的好理由。

JabRef 也可以轻松地处理这些子集,只需搜索某些内容即可keywords=SecondFile,那么为什么要拆分它呢?

但是如果您无论如何都想拆分它,一旦选择了 JabRef 中的参考文献(使用此搜索或任何其他方式),就像菜单Export selected entries选项一样简单File。因此合并数据库应该不是问题。只需进行备份并测试即可! ;)

相关内容