我有一个包含许多参考文献的 BibTeX 文件,其中期刊名称(大部分)都是全写的。我想用标准的缩写标题替换参考文献列表中的这些内容。
通过搜索网络,我找到了许多针对此问题的建议解决方案。这些方法似乎都涉及维护自己的搜索和替换字符串数据库、使用 GUI 参考管理器 (Jabref) 或编辑整个.bib
文件,以便每个期刊名称都是一个宏调用。
我的.bib
文件有 171 个条目(它最初是我论文的参考文献,从那时起我就一直在添加,每篇论文都使用同一个文件),因此创建和维护我自己的期刊缩写数据库将是一项艰巨的任务。虽然如果有必要,我会开始使用 Jabref,但使用 GUI 包来解决这样一个基于文本的问题似乎不太合适。
我真正想要的是一个脚本(或者更好的是,一个 LaTeX 包),它可以浏览我的.bib
文件,并将每个完整的期刊名称替换为在为此目的而存在的众多标准数据库之一中查找到的缩写。(当然可能会有一些遗漏,但我不介意手动修复一两个。)
我猜想这种无痛、透明的解决方案并不存在,但在这里问一下也无妨。在我看来,这肯定是一件非常普遍的事情,而且我有点惊讶这项功能并没有内置在 BibTeX 中。
答案1
我这样做。我有一个名为 journalshort.bib 的文件,其中包含许多以下形式的条目
@STRING{aiaa = "AIAA J."}
一个名为 journalfull.bib ,其对应条目如下
@STRING{aiaa = "American Institute of Aeronautics and Astronautics Journal"}
调用时\bibliography
,我使用用户选项来决定将两者中的哪一个作为附加参数传递(附加到他们自己的 .bib 文件中)。然后,在他们的 .bib 文件中,他们只需说
JOURNAL = aiaa,
作为条目的一部分。但当然,必须创建这些附加的 bib 文件,而您说您不想为此烦恼。
答案2
我不知道你在做什么,但例如 IEEE 有自己的 .bib 文件(IEEEabrv.bib),其中包含缩写(可用这里)。
也许您可以使用这个文件,或者在您的特定领域内咨询是否有这样的文件
答案3
由于我不想手动处理多个参考书目,所以我四处寻找类似问题的答案,最后找到了 jabbrv 包
https://github.com/compholio/jabbrv
经过大约 5 分钟的使用(包括撤消现有的参考书目命令),我发现它似乎可以很好地缩写生物化学、分子生物学或类似领域的期刊名称。
这应该值得一试。
答案4
有一个 github 包可以自动解决这个问题,无需手动进入并修改任何内容: https://github.com/compholio/jabbrv
此外,这个包还被合并到了 Overleaf 模板中: https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr