如何在 BibTeX 中输入“印刷中”或“已提交”的出版物?

如何在 BibTeX 中输入“印刷中”或“已提交”的出版物?

对于如何输入“准备中”或“已提交”的出版物,是否有惯例?一些日志“ 进入 BibTeX 数据库?

答案1

year人们可以直接在书目条目字段中输入非数字信息,例如“正在印刷”和“即将出版” 。

只有在以下情况下,字段中包含非数字信息才year可能引起麻烦:(a)一些同一作者的“正在出版”作品,并且 (b) 需要确保条目按特定顺序排序。幸运的是,BibTeX 手册中建议了一种简单的解决方法:

  • 首先,设置一个名为\noop(“无操作”的缩写)的命令:在 .bib 文件的顶部,你应该输入

      @preamble{ " \newcommand{\noop}[1]{} " } % a do-nothing command that serves a purpose
    
  • 稍后在 bib 文件中,您将扩充“印刷中”条目的年份字段,如下所示:

      @article{smith:2011,
        author  = "John Smith", 
        year    = 2011,
        journal = "Unorganized Scholarly Impressions",
        ... }
      @article{smith:inpress-a,
        author  = "John Smith", 
        year    = "\noop{3001}in press",
        journal = "Journal of Nothingness",
        ... }
      @article{smith:inpress-b,
         author  = "John Smith", 
         year    = "\noop{3002}forthcoming",
         journal = "Review of Random Thoughts",
         ... }
    
  • 通过此设置,并假设您采用按年份对条目进行排序的参考书目样式,“smith:2011”将始终列在“smith:inpress-a”之前,而后者又将始终列在“smith:inpress-b”之前。

  • 请注意,\noop{<anything>}不会产生乳胶输出。然而,它仍然有用,因为当BibTeX在构建参考书目文件(文件扩展名为.bbl)时遇到它,它会将两个年份字段的内容分别“视为”3001in press3002forthcoming,从而正确执行其排序工作。

  • 请注意,我建议使用虚假年份(例如30013002等等),以便让.bib文件的所有读者(包括您自己!)清楚,这些不是真正的出版日期,而仅仅是为了确保正确的排序顺序。

natbib引用命令将\citet{smith:inpress-a,smith:inpress:b}生成

史密斯(印刷中,即将出版)

这很可能会让读者感到困惑。为了避免这个问题——为了便于说明,假设这两篇文章将于 2012 年晚些时候发表——您必须将两个年份字段更改为如下格式

year = "\noop{3001}in press 2012a"

year = "\noop{3002}in press 2012b"

分别。通过这些修改,该命令\citet{smith:inpress-a,smith:inpress:b}将生成更易于解析的输出

史密斯(2012a 印刷中,2012b 印刷中)

稍后,作品出版后,您可以更新文件.bib并将“\noop{3001}in press 2012a”替换为实际出版年份 - 可能为2013。(显然,您还需要利用这个机会输入条目其他字段的实际值,例如volumeissuepages等。)


附录:请注意,该\noop命令还可用于对已发布的文章进行排序。假设您有三篇由多产的“John Miller”于 2005 年发表的条目,其键为miller:2005amiller:2005bmiller:2005c;我们假设以这种方式选择键是因为您恰好知道 2005a 篇文章发表于 2005 年 2 月,2005b 篇文章发表于 6 月,2005c 篇文章发表于 2005 年 10 月。进一步假设所有三篇条目当前都包含字段year = 2005。如果要将两三篇出版物纳入按作者和年份排序的参考书目中,遗憾的是 BibTeX 无法保证根据其键的值列出这些条目。如果您希望miller:2005amiller:2005bmiller:2005c条目始终按此顺序排序并列出,则可以使用该\noop命令并修改条目的year字段,如下所示:

@article{miller:2005a,
   author = "John Miller",
   year   = "2005{\noop{a}}",
   ...
}
@article{miller:2005b,
   author = "John Miller",
   year   = "2005{\noop{b}}",
   ...
}
@article{miller:2005c,
   author = "John Miller",
   year   = "2005{\noop{c}}",
   ...
}

这样,如果您需要为给定的出版物包含带有键2005b和的部分2005c,BibTeX 确实会按所需顺序对它们进行排序。并且,根据所使用的 bib 样式文件,BibTeX 将使用增强的年份标签2005a和文件的创建2005b时间。.bbl

答案2

如果您使用的是传统的 BibTeX 样式文件,请使用类型@unpublished并使用note字段来解释状态。如果您使用的是biblatex,那么您可以使用类型@article并将信息添加到notebiblatex对于 的“必需”内容往往更加宽容article

相关内容