![在多个 .bib 数据库中解析不同记录的相同密钥](https://linux22.com/image/477677/%E5%9C%A8%E5%A4%9A%E4%B8%AA%20.bib%20%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E8%A7%A3%E6%9E%90%E4%B8%8D%E5%90%8C%E8%AE%B0%E5%BD%95%E7%9A%84%E7%9B%B8%E5%90%8C%E5%AF%86%E9%92%A5.png)
答案1
解决方案非常明显:由于 BibTeX 密钥生成器的默认模式[auth][year]
可以在任何其他文件中重复,但 JabRef 无法检查这一点,因此,责任在你:你必须提供另一个模式,确保始终生成唯一的密钥。例如:
[auth][year][firstpage]
或者如果这还不够......[authorIni][year][firstpage]
。这个使用第一个作者姓氏的前 5 个字符,以及其余作者的姓氏首字母。但如果这还不够(!),还可以添加或[shorttitle]
。[keyword3]
请参阅程序的帮助。还有更多选项...
但是如果你已经使用过[auth][year]
它,那么检查每个键是如何变化的可能就很困难了。而且长键很难记住。所以另一种方法是根据数据库构造键,例如使用[auth][year]F
first.bib、[auth][year]S
second.bib 等等。然后你就可以准确预测键是如何变化的。而且它仍然是一个方便的键。
据我所知,模式偏好对于所有数据库都是全局的,即,您不能为特定数据库存储特定模式,但是由于您可以在一秒钟内重新生成所有键,因此无论何时更改偏好似乎都是一个微不足道的问题。
嗯,...另一个选择是合并文件。你不喜欢这个,但我认为这是最好的选择,因为它[auth][year]
为所有引用生成相同的简单且唯一的键。而且你仍然可以将来源标识为关键字。
值得注意的是,biblatex 可以根据关键字打印引用参考文献的子集,因此这不是拆分数据库的好理由。
JabRef 也可以轻松地处理这些子集,只需搜索某些内容即可keywords=SecondFile
,那么为什么要拆分它呢?
但是如果您无论如何都想拆分它,一旦选择了 JabRef 中的参考文献(使用此搜索或任何其他方式),就像菜单Export selected entries选项一样简单File。因此合并数据库应该不是问题。只需进行备份并测试即可! ;)