有没有办法覆盖特定条目的bibtex样式文件?

时间:2009-12-30 19:50:00

标签: latex bibtex

我首选的bibtex风格文件引用作者的姓名缩写。但是,有各种文本应该以不同的方式引用(例如, Elements Geometrie Algebrique 应始终引用为[EGA])。我知道如何在bibtex输出的.bbl文件中修改它,但是我必须为每个文件执行此操作。有没有办法从我的.bib文件中执行此操作?

3 个答案:

答案 0 :(得分:7)

  

我首选的bibtex风格文件引用作者的姓名缩写。但是,有各种文本应该以不同的方式引用......

我希望我不会因此受到抨击,但您首选的bibtex风格文件并不能很好地为您的读者服务。我的工作的一部分是审查论文,像[GKS]这样的首字母缩写并不像[Guibas,Knuth和Sharir 1990]那样完整的作者日期引用。对于知识渊博的读者来说,作者和日期经常使得参考参考书目成为不必要的。对于一个天真的读者来说,一组名字比一组字母更容易记住,特别是当一个或多个名字可能熟悉时。这些问题将通过例如Chicago Manual of Style详细讨论,它解释了从专业文献中引用的正确方法。

我继续这么长,因为我相信你正在解决错误的问题。虽然我相信你的读者会很快认出[EGA],但我希望他们也能认出(格洛腾迪克1960年)或(Grothendieck和Dieudonné1967)。

  

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

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

  1. 克隆并修改plainnat.bst文件之类的内容。这将使您能够创建一个新的“参考书目风格。”

  2. 创建一种新类型的BibTeX条目,您可以使用特殊字段指定引文键(key是一种受欢迎的选择)。

  3. 更改calc.label函数,使用新类型的条目执行正确的操作。如果你很幸运,改变calc.label就足以确保事情的排序正确。

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

  5. 众神真的不希望你这样做 - 你的共同作者也不会......

答案 1 :(得分:2)

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

答案 2 :(得分:0)

如果您愿意使用不同的围兜风格,可以使用answer指出的方法。使用abstract样式,bibtex键用作引用键。然后,您可以根据需要编辑bib文件中的每个键。

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

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