重命名 BibTeX 键而不破坏现有文档

重命名 BibTeX 键而不破坏现有文档

我有一个很大的 BibTeX 文件,其中的条目带有诸如smith-jones-2011和 之类的键shah-2018。我想将这些键重命名为Smith2011Shah2018,但我不想破坏引用旧键的 LaTeX 文件。有没有一种好的自动化方法来更改 BibTeX 文件中的所有键并更新 LaTeX 文件?

答案1

.bib.tex文件对它们所使用的文档一无所知,因此.bib文件无法神奇地返回所有文件并更改引用键。

一个简单的搜索和替换工作.tex可能对你来说就足够了。如果你的数据库很大,你可能想尝试通过获取可以逐个处理的新旧键列表来自动化此操作。


如果您正在使用biblatex(与 Biber 一起使用),您可以使用该ids字段来保留旧名称。请参阅克雷格科布回答bibtex 具有同一参考文献的多个别名并且保丽康的回答有多个键引用相同的参考书目条目

@article{Smith2011,
  ids       = {smith-jones-2011},% <- old key
  author    = {Jane Smith and Emma Jones},
  title     = {Title},
  journal   = {Journal of Stuff},
  year      = {2011},
  volume    = {12},
}

有点儿像 hack 一样,将crossref旧名字改为新名字

@article{Smith2011,
  author    = {Jane Smith and Emma Jones},
  title     = {Title},
  journal   = {Journal of Stuff},
  year      = {2011},
  volume    = {12},
}

@article{smith-jones-2011,
  crossref = {Smith2011}
}

按照建议弗拉布尤斯一个 bibtex 条目可以赋予多个参考名称吗?。这不需要对所有.bst文件都起作用,并且如果在同一个文档中使用两个名称,可能会导致参考书目重复和其他奇怪的副作用。


如果您只使用biblatex(与 Biber 一起使用),那么 应该没问题ids。否则,我建议使用搜索和替换解决方案。

相关内容