我用它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}
}
这里,作者名字的缩写写为KP
和AK
。但是,在我的 pdf 文件中,它们分别显示为K
和A
。解决这个问题的一种方法是在这些字符串之间留出空格:K P
和A K
。但是,我的参考文献列表很长,我认为必须有更好的方法来强制 bibtex 正确呈现这些名字。有什么想法吗?
答案1
您不应该直接从 Scholar 中复制,数据库有时会非常奇怪(例如,我偶然发现在“期刊”字段中以文章形式输入的书籍......)。
除了良好的做法之外,您还必须记住,如果您的 .bib 在字段格式方面不一致,则任何修改正常行为的尝试都会导致问题。因此,如果您尝试某种方法,您也会影响您的条目中的 Ranjeev Misra 部分。
然后你就有了三个同样好的解决方案:
您谈到的那个很好。
您可以
KP
用{K P}
受保护的字符串替换它。您必须
KP
用作者的全名来替换。
为了简化工作,这不是 bibtex 解决方案,一些文本编辑器(例如 SublimeText)具有正则表达式查找功能,您可以研究所有具有 UppercaseUppercaseSpace 结构的单词,然后在大约 2 秒内用字符串 {UppercaseUppercase}Space 替换它们,这有点狡猾,但是当您知道方法时,它可以真正节省时间。
答案2
我的理解是,如果“作者”字段包含逗号,则 BIBTeX 会将逗号后(以及下一个“and”之前)的任何姓名部分视为名字。它无法判断一个人的名字是“KP”还是真的是指两个名字。我看不出 BIBTeX 怎么会知道您实际上是想将“KP”作为两个首字母而不是一个名字。
我的建议是手动编辑您的 BIBTeX 条目,或者使用一些正则表达式将所有“逗号后跟两个或多个大写字母”的实例转换为在每个大写字母后包含空格和句号。