我正在使用 bibfuse 来启用 BibDesk 来管理我在 Microsoft Word 2011 中的参考文献。使用 BibDesk 模板标签(Apple 的键值编码),我有以下模板:
<$pubType=article?>
<$itemIndex/>. <$pubAuthors.unpunctuatedAbbreviatedNormalizedName.stringByRemovingTeX.@componentsJoinedByCommaAndAndWithEtAlAfterThree/>. <$pubFields.Title.stringByRemovingTeX/>.<$pubFields.Journal/> <$pubFields.Year/>;<$pubFields.Volume/><$pubFields.Number/>): <$pubFields.Pages/>.
当作者数量超过 3 时,返回的参考文献如下所示:
- Wilcox AJ、Weinberg CR、O'Connor JF 等。早期流产的发生率。新英格兰医学杂志 1988;319(4): 189-194。
请注意两个句号(“et al..”)。当作者人数为 3 人或更少时,参考文献的格式正确,如下所示:
- Regan L、Braude PR 和 Trembath PL。既往生育表现对自然流产风险的影响。BMJ 1989;299(6698):541--545。
我想知道如何使用 BibDesk条件标签...AndWithEtAlAfterThree/>
如果作者人数超过 3 人,则省略后面的句号。请注意,这个问题是在 SourceForge 邮件列表中提问并部分回答,但我还是搞不清楚如何根据提供的信息去实现。
答案1
正如所指出的BibDesk 帮助:G. 模板标签,条件标签具有一般结构:
<$conditionKey?>
template for non empty condition
<?$conditionKey?>
template for empty condition
</$conditionKey?>
使用条件标签来获取所需输出的一种方法是使用集合修饰键 @fourthObject
在收集密钥 authors
像这样:
<$authors.@fourthObject?><?$authors.@fourthObject?>.</$authors.@fourthObject?>
我们可以把这段代码翻译成英语:“authors 集合中是否有第四个对象?如果有,则不输出任何内容。如果没有,则输出一个句点。”
因此,在您的模板中,替换:
<$pubAuthors.unpunctuatedAbbreviatedNormalizedName.stringByRemovingTeX.@componentsJoinedByCommaAndAndWithEtAlAfterThree/>.
和:
<$pubAuthors.unpunctuatedAbbreviatedNormalizedName.stringByRemovingTeX.@componentsJoinedByCommaAndAndWithEtAlAfterThree/><$authors.@fourthObject?><?$authors.@fourthObject?>.</$authors.@fourthObject?>