我首选的 bibtex 样式文件通过作者的姓名首字母引用。但是,有各种文本应该以不同的方式引用(例如,Elements Geometrie Algebrique应该始终被引用为 [EGA])。我知道如何在 bibtex 输出的 .bbl 文件中修改它,但是我必须对每个文件都这样做。有没有办法从我的 .bib 文件中做到这一点?
3 回答
我首选的 bibtex 样式文件通过作者的姓名首字母引用。然而,有不同的文本应该以不同的方式引用......
我希望我不会因此而被激怒,但是您喜欢的 bibtex 样式文件不能很好地为您的读者服务。我的部分工作是审阅论文,而像 [GKS] 这样的杂乱无章的首字母几乎没有像 [Guibas, Knuth, and Sharir 1990] 这样的完整作者日期引文那么有用。对于知识渊博的读者来说,作者和日期通常不需要参考参考书目。对于一个天真的读者来说,一组名字比一组字母更容易记住,尤其是当一个或多个名字可能很熟悉时。例如,芝加哥风格手册对这些问题进行了详细讨论,该手册解释了从专业文献中引用的正确方法。
我继续这么长,因为我相信你正在解决错误的问题。尽管我相信您的读者会很快认出 [EGA],但我希望他们也能认出 (Grothendieck 1960) 或 (Grothendieck and Dieudonné 1967)。
我可以通过更改
.bib
文件来[修改引用作品的方式]吗?
如果您想使用任何标准的 BibTeX 样式,则不会。BibTeX 使用世界上最糟糕的编程语言之一,标准程序非常严格地使用作品的作者或编辑来形成引文密钥。如果你真的想这样做,我推荐以下程序:
克隆并修改类似
plainnat.bst
文件的内容。这将使您能够创建新的“参考书目样式”。创建一种新类型的 BibTeX 条目,使您能够使用特殊字段指定引用键(
key
这是一种流行的选择)。更改
calc.label
函数以使用您的新条目类型做正确的事情。如果你幸运的话,改变calc.label
就足以确保事情得到正确分类。.bib
在您的文件中使用您的非标准类型,并在您\bibliographystyle{...}
的所有 LaTeX 文档中使用您的非标准类型。
众神真的不希望你这样做——你的合著者也不希望......
您可以修改 .bst 程序,使其查找附加字段,例如显示键,如果已设置,则使用该字段而不是通常的字段。
如果您愿意使用不同的围兜样式,则此答案指出了一种方法。使用抽象风格,bibtex 键用作引用键。然后,您可以根据需要编辑 bib 文件中的每个键。
这种方法的一个直接缺点是您必须编辑 bib 文件中的每个项目,但是我相信为这种灵活性付出的代价是公平的。
我见过涉及 natbib 或 biblatex 的其他可能的解决方案,但我想避免使用这些包,因为我有时在使用它们时会遇到编译问题。