使 bibtex 完整呈现作者的名字缩写

使 bibtex 完整呈现作者的名字缩写

我用它bibtex来呈现论文中的参考文献。我在呈现作者的名字时遇到了问题。我直接从 Google Scholar 复制了 bibtex 参考文献。例如,请参阅以下 bibtex 条目:

@article{harikrishnan2006non,
  title={A non-subjective approach to the GP algorithm for analysing noisy time series},
  author={Harikrishnan, KP and Misra, Ranjeev and Ambika, G and Kembhavi, AK},
  journal={Physica D: Nonlinear Phenomena},
  volume={215},
  number={2},
  pages={137--145},
  year={2006},
  publisher={Elsevier}
}

这里,作者名字的缩写写为KPAK。但是,在我的 pdf 文件中,它们分别显示为KA。解决这个问题的一种方法是在这些字符串之间留出空格:K PA K。但是,我的参考文献列表很长,我认为必须有更好的方法来强制 bibtex 正确呈现这些名字。有什么想法吗?

答案1

您不应该直接从 Scholar 中复制,数据库有时会非常奇怪(例如,我偶然发现在“期刊”字段中以文章形式输入的书籍......)。

除了良好的做法之外,您还必须记住,如果您的 .bib 在字段格式方面不一致,则任何修改正常行为的尝试都会导致问题。因此,如果您尝试某种方法,您也会影响您的条目中的 Ranjeev Misra 部分。

然后你就有了三个同样好的解决方案:

  1. 您谈到的那个很好。

  2. 您可以KP{K P}受保护的字符串替换它。

  3. 您必须KP用作者的全名来替换。

为了简化工作,这不是 bibtex 解决方案,一些文本编辑器(例如 SublimeText)具有正则表达式查找功能,您可以研究所有具有 UppercaseUppercaseSpace 结构的单词,然后在大约 2 秒内用字符串 {UppercaseUppercase}Space 替换它们,这有点狡猾,但是当您知道方法时,它可以真正节省时间。

答案2

我的理解是,如果“作者”字段包含逗号,则 BIBTeX 会将逗号后(以及下一个“and”之前)的任何姓名部分视为名字。它无法判断一个人的名字是“KP”还是真的是指两个名字。我看不出 BIBTeX 怎么会知道您实际上是想将“KP”作为两个首字母而不是一个名字。

我的建议是手动编辑您的 BIBTeX 条目,或者使用一些正则表达式将所有“逗号后跟两个或多个大写字母”的实例转换为在每个大写字母后包含空格和句号。

相关内容