bibtexkeys 的一个非常常见的方案是FirstauthornameYYYY
像这样的Bohr1922
。
由于存在冲突,该方案不太适合团队协作(与1922 年玻尔发表的多篇论文Bohr1922a
相比)Bohr1922b
如果用户找到没有 doi 的文档规则,数字对象标识符 (doi) 可能会有所帮助。
使用 doi 作为 bibtexkey 时还存在其他缺陷吗?
(例如,与 bib 相关的包是否会声称包含非法字符或太长的标识符?)
答案1
技术限制
使用 DOI 作为 bibkey 的技术限制是它们不应该包含在.bib
文件语法中具有特殊含义的字符,也就是说,不能有逗号,
或花括号{
/ }
,因为这会让 Biber/BibTeX 认为 bibkey 已经结束,但事实并非如此。
此外,还应警惕 bibkeys 中的特殊 UTF8 字符(见如何在 bibkeys 中添加特殊字符(例如德语变音符号)?) 这在 DOI 标准下是完全可能的(参见DOI 手册)
DOI 号可包含 ISO/IEC 10646 通用字符集 (UCS-2) 中的任何可打印字符,该字符集由 Unicode v2.0 定义。UCS-2 字符集涵盖当今每种主要书写语言中使用的大多数字符。
[...]
Handle System 的核心是 UTF-8,这是一种 Unicode 实现,因此其纯粹形式完全没有字符集限制:任何字符都可以发送到 Handle Server、存储在 Handle Server 中并从 Handle Server 中检索。IDF 不施加任何额外的字符集限制。但在实践中,当前的 Web 环境会强制执行许多字符集限制,具体取决于单个用户的上下文(例如,正在使用哪种浏览器)。
[...]
除本标准规定的特定要求(如使用 Unicode 和保留字符)外,对于 DOI 中使用的字符没有任何限制或假设。
因此,由于 LaTeX/biblatex
的技术限制,您无法确定是否真的可以支持 bibkeys 中的所有可能的 DOI。
然而,在现实生活中,你可能很难找到一个恶意的 DOI - 大部分是良性的,只包含数字、小写字母、点和斜线;但也有一些很好的 DOI,比如
10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P
由于括号的原因,Biber 拒绝编译,而 BibTeX 却愉快地继续编译。
简而言之,DOI 标准并不禁止可能对文件造成严重破坏的有问题的 DOI,尽管目前大多数 DOI 都完全没问题,但已经有一些令人麻烦的 DOI。
“人为因素和人体工程学(和助记符)”
在理想世界中,bibkey 易于记忆和识别,这样看到 bibkey 的人就能立即知道它指的是什么作品 - 或者至少有一个大致的想法。包含作者姓名、年份、以最重要的单词或首字母形式出现的标题的 bibkey 可以说更容易记住,并且可以更好地了解作品的内容 - DOI 在这方面只对极少数人有帮助(但有自动完成功能和供编辑参考书目集成,因此可以在一定程度上解决这个问题)。
简而言之,DOI 非常抽象,并且对人类来说几乎没有任何意义,因此仅通过查看 bibkeys 无法轻松掌握所引用的作品。
替代方法
使用 DOI 的不可否认的好处是可以保证不会发生冲突。大多数其他(更易于人类阅读)格式都有可能遭遇某种形式的冲突。
你可以选择 egreg 和 jon 建议的以下格式之一
<name>+<year>+<prominent word in the title/important concept of the article>
<name>+<year>+<journal/volume>
<name>+<year>+<letter>
<name>+<year>+<first letter of the first n words>
当然,这些都不能保证是唯一的,但它们很接近。(有些编辑器提供了自动生成某些形式的键并检查数据库中唯一性的功能。)