对于如何输入“准备中”或“已提交”的出版物,是否有惯例?一些日志“ 进入 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 press
和3002forthcoming
,从而正确执行其排序工作。请注意,我建议使用虚假年份(例如
3001
、3002
等等),以便让.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
。(显然,您还需要利用这个机会输入条目其他字段的实际值,例如volume
、issue
、pages
等。)
附录:请注意,该\noop
命令还可用于对已发布的文章进行排序。假设您有三篇由多产的“John Miller”于 2005 年发表的条目,其键为miller:2005a
、miller:2005b
和miller:2005c
;我们假设以这种方式选择键是因为您恰好知道 2005a 篇文章发表于 2005 年 2 月,2005b 篇文章发表于 6 月,2005c 篇文章发表于 2005 年 10 月。进一步假设所有三篇条目当前都包含字段year = 2005
。如果要将两三篇出版物纳入按作者和年份排序的参考书目中,遗憾的是 BibTeX 无法保证根据其键的值列出这些条目。如果您希望miller:2005a
、miller:2005b
和miller: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
并将信息添加到note
:biblatex
对于 的“必需”内容往往更加宽容article
。