使用指南
模板速查表

模板备忘单

请在评论区留下您常用的用法,我们将将它们添加到列表中。

作者

获取作者简称

Note Properties
authors: <%= it.authorsShort %>

输出类似 Gerasimavicius et al. 的形式。

在摘录模板获取作者简称

摘录所属的文献信息存储在 it.docItem 中。

Note Annotation
from <%= it.docItem.authorsShort %>

获取完整姓名的作者列表

Note Properties
authors: [<%= it.authors %>]

获取作者的名字或姓氏列表

Note Properties
authors: [<%= it.authors.map(v => v.firstName) %>]
# 或者
authors: [<%= it.authors.map(v => v.lastName) %>]
💡

请注意,名字和姓氏并不总是存在

摘要

以单个段落获取摘要

Note Content
## 摘要

<%= it.abstractNote.first().replace(/[\r\n]+/g, " ") %>

标签

仅包含手动创建的标签

要仅包含手动创建的标签,除外从文献中提取的标签,请使用以下代码:

Note Properties
tags: [<%= it.tags.filter(t => t.type === 0) %>]

这是 v1.1.0 之前的默认行为。

💡

在 Zotero 中,手动创建的标签值为 0,而从文献中提取的标签值为 1。

分类/收藏 (Collection)

获取所有分类

Note Properties
collections: [<%= it.collections %>]

获取分类层级

Note Properties
collections: [<%= it.collections.map(c => c.path) %>]

分类层级默认以 > 分隔,输出类似 Collection 1 > Collection 2 > Collection 3。 你也可以使用 join 函数自定义分隔符,例如以下示例将使用 / 作为分隔符,输出类似多级标签的形式 (A/B/C)

Note Properties
collection-path: [<%= it.collections.map(c => c.path.join("/")) %>]

获取最高层级的分类

Note Properties
top-collections: [<%= [...new Set(it.collections.map(c => c.path[0]))] %>]

日期

获取文献导入 Zotero 的日期

Note Properties
import-date: <%= it.dateAccessed %>

获取文献发表日期

Note Properties
publish-date: <%= it.date %>

分组

有关详细信息,请参见 Object.groupBy (opens in a new tab)Map.groupBy (opens in a new tab)

按摘录颜色分组

Note Annotations
<% const byColor = Object.groupBy(it, (annot) => annot.colorName); 
for (const color in byColor) { -%>

## <%= color %>
  <%_ for (const annot of byColor[color]) { %>

<%~ include("annotation", annot) %>
  <%_ } %>
<% } %>

按摘录颜色分组,自定义标签

Note Annotations
<% const byColor = Object.groupBy(it, (annot) => annot.colorName);
const label = {
  "red": "红色",
  "orange": "橙色",
  "yellow": "黄色",
  "gray": "灰色",
  "green": "绿色",
  "cyan": "青色",
  "blue": "蓝色",
  "navy": "海军蓝",
  "purple": "紫色",
  "brown": "棕色",
  "magenta": "品红",
};
// 合并有标签的颜色和任何未指定标签的颜色
// 保持在label中设置的颜色顺序
const colorSet = new Set([...Object.keys(label), ...Object.keys(byColor)]);
for (const color of colorSet) { 
if (!(color in byColor)) continue -%>

### <%= label[color] ?? color %>
  <%_ for (const annot of byColor[color]) { %>

<%~ include("annotation", annot) %>
  <%_ } %>
<% } %>