我使用的是 Biblatex 中的样式authoryear
,目前期刊名称后面有一个逗号,如下所示
\DeclareFieldFormat{journaltitle}{#1, }
我获得的输出例如是Journal of Medcine, 8: 45-60
期刊名称后跟逗号、卷数和页码。在某些情况下,期刊字段的值为In press.
。
因此基于上述格式,我得到以下输出In press.,
我的问题是,如何添加一个条件,使得当journaltitle
等于时In press.
排除逗号?
编辑:
参见下面的示例。
答案1
biblatex
提供pubstate
字段来记录“正在印刷”等信息。因此,journaltitle
不应使用 来存储此类信息。
如果有人拥有此类信息journaltitle
,则可以使用biber
动态操作 bibtex 条目的功能将信息放入适当的字段。
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map{
\step[fieldsource=journaltitle,
match=\regexp{,\s+in\s+press},
fieldset=pubstate,
fieldvalue={in press}]
\step[fieldsource=journaltitle,
match=\regexp{,\s+in\s+press},
replace={}]
}
}
}
上述操作检查是否journaltitle
包含字符串, in press
并将其复制到pubstate
字段。然后,在第二步中,它从中删除字符串journaltitle
。