11

我首选的 bibtex 样式文件通过作者的姓名首字母引用。但是,有各种文本应该以不同的方式引用(例如,Elements Geometrie Algebrique应该始终被引用为 [EGA])。我知道如何在 bibtex 输出的 .bbl 文件中修改它,但是我必须对每个文件都这样做。有没有办法从我的 .bib 文件中做到这一点?

4

3 回答 3

8

我首选的 bibtex 样式文件通过作者的姓名首字母引用。然而,有不同的文本应该以不同的方式引用......

我希望我不会因此而被激怒,但是您喜欢的 bibtex 样式文件不能很好地为您的读者服务。我的部分工作是审阅论文,而像 [GKS] 这样的杂乱无章的首字母几乎没有像 [Guibas, Knuth, and Sharir 1990] 这样的完整作者日期引文那么有用。对于知识渊博的读者来说,作者和日期通常不需要参考参考书目。对于一个天真的读者来说,一组名字比一组字母更容易记住,尤其是当一个或多个名字可能很熟悉时。例如,芝加哥风格手册对这些问题进行了详细讨论,该手册解释了从专业文献中引用的正确方法。

我继续这么长,因为我相信你正在解决错误的问题。尽管我相信您的读者会很快认出 [EGA],但我希望他们也能认出 (Grothendieck 1960) 或 (Grothendieck and Dieudonné 1967)。

我可以通过更改.bib文件来[修改引用作品的方式]吗?

如果您想使用任何标准的 BibTeX 样式,则不会。BibTeX 使用世界上最糟糕的编程语言之一,标准程序非常严格地使用作品的作者或编辑来形成引文密钥。如果你真的想这样做,我推荐以下程序:

  1. 克隆并修改类似plainnat.bst文件的内容。这将使您能够创建新的“参考书目样式”。

  2. 创建一种新类型的 BibTeX 条目,使您能够使用特殊字段指定引用键(key这是一种流行的选择)。

  3. 更改calc.label函数以使用您的新条目类型做正确的事情。如果你幸运的话,改变calc.label就足以确保事情得到正确分类。

  4. .bib在您的文件中使用您的非标准类型,并在您\bibliographystyle{...}的所有 LaTeX 文档中使用您的非标准类型。

众神真的不希望你这样做——你的合著者也不希望......

于 2009-12-30T23:12:06.797 回答
3

您可以修改 .bst 程序,使其查找附加字段,例如显示键,如果已设置,则使用该字段而不是通常的字段。

于 2009-12-30T21:11:15.323 回答
1

如果您愿意使用不同的围兜样式,则此答案指出了一种方法。使用抽象风格,bibtex 键用作引用键。然后,您可以根据需要编辑 bib 文件中的每个键。

这种方法的一个直接缺点是您必须编辑 bib 文件中的每个项目,但是我相信为这种灵活性付出的代价是公平的。

我见过涉及 natbib 或 biblatex 的其他可能的解决方案,但我想避免使用这些包,因为我有时在使用它们时会遇到编译问题。

于 2016-01-30T18:15:15.837 回答