我使用该natbib
包(使用默认authoryear
选项)和apalike
参考书目样式来编写参考书目。
我想以这样的方式引用即将发表的论文,即用“即将发表”或“即将出现”代替出版年份——无论是在内联引用还是在参考书目中。
如果我使用以下 bibtex 条目...
@Unpublished{ key,
title="Title",
author="F. Lastname",
year="to appear",
note="Manuscript under submision" }
...然后\citep{key}
扩展为(Lastname pear)
而不是所需的(Lastname to appear)
。同样,如果我在年份字段中使用“forthcoming”,则\citep{key}
扩展为(Lastname ming)
。看来年份字段被截断为最后四个字符。
有办法解决这个问题吗?
答案1
我应该指出,虽然这种引用很常见,但这不是很好的做法:你引用的文章做有年份,即你阅读的草稿的年份,并且应该引用该年份,并附上说明该稿即将出版的注释。参见BibTeX 中即将发表的论文属于哪种出版类型?以获得关于如何最好地实现这一点的一些想法。
话虽如此,修改参考书目样式以允许这种年份并不是那么困难。
apalike.bst
此截断是样式设置的一种属性。复制apalike.bst
并对其进行以下修改。将其另存为myapalike.bst
本地texmf
文件夹。它应该进入<path/to/local>/texmf/bibtex/bst
(路径取决于您的操作系统)。然后\bibliographystyle{myapaplike}
在您的文档中使用。
找到 FUNCTION calc.label
:它应该如下所示:
FUNCTION {calc.label}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.label % apalike ignores organization
'author.key.label % for labeling and sorting
if$
}
if$
", " % these three lines are
* % for apalike, which
year field.or.null purify$ #-1 #4 substring$ % uses all four digits
*
'label :=
}
改变线路
year field.or.null purify$ #-1 #4 substring$ % uses all four digits
成为:
year field.or.null purify$ #-1 #64 substring$ % allow many characters
答案2
另一种可能性(尽管不是完全令人满意)是利用命令 \citeauthor
并在正文中手动输入“(即将推出)”:
\citeauthor{key} (forthcoming)
由于人们很少引用即将发表的论文(希望如此),这个解决方案可能不会那么麻烦。