Skip to content

标签与引用

novelWriter的核心功能之一便是其标签与引用系统。这或许正是它区别于其他同类应用的关键特性,因此新用户往往难以立即理解其运作机制。

在 novelWriter 中,无需通过表单或表格来定义角色、场景或其他故事元素。取而代之的是,您需在根文件夹下的笔记文档中创建文档。在这些文档内可设置标签,例如为您的主角创建专属标签。当需要以该角色视角标注场景时,只需创建指向该标签的引用即可。

提示

若仅凭本章说明难以理解标签与引用机制,可在欢迎对话框的新建项目表单中创建项目,并从“预填项目”选项中选择“创建示例项目”。该示例项目包含多个标签与引用的应用范例。

如何使用标签

小说写作工具项目的结构是根据文档中的标题推断出来的,而非文档本身。更多细节请参阅章节与场景。因此,元数据也与标题相关联,而非文档本身。

在 novelWriter 中,“标签”是指您定义为属于某个标题的词或短语。标签通过 @tag 关键字设置。

标签的基本格式为 @tag: 标签名

标签的另一种格式为 @tag: 标签名 | 显示名称

  • tagName(必填)

    这是您自定义的唯一标识符。后续在文档中引用该标题时将使用此值。标签必须唯一。

  • 显示名称(可选)

    这是标签的可选显示名称。在构建文稿时,您可将视角角色名直接插入章节标题。默认情况下,此类标题会使用tagName值,但若项目内部采用简化格式,可通过显示名称指定更适合章节标题的格式。

!> 注意

每个标题仅可设置一个标签,且该标签在项目内所有文档中必须唯一。

标签定义后,可在新文档中引用,或在其他笔记中交叉引用。当文档在查看器中打开时,标签也会显示在文档查看器的大纲视图引用面板中。更多详情请参阅小说大纲视图文档引用

编辑器会通过添加彩色高亮提示您关键词使用正确且标签有效(即标签唯一)。无效标签下方会显示波浪线,且不会获得有效标签的彩色标记。

标签是 novelWriter 唯一使用的笔记组件。文档其余内容可供您自由使用。

2.2 版新增: 标签不再区分大小写。标签默认按定义时的大小写显示,但后续引用时无需保持一致。

2.3版新增功能: 标签可为稿件构建添加可选显示名称。

2.6版本新增功能: 现可为小说文档添加标签。这些标签可用于章节与场景间的交叉引用,也可根据需要从笔记中进行引用。

示例

带标签集角色的备注文档示例:

# 角色:简·多伊

@tag:简 | 简·多伊

关于角色简·多伊的若干信息。

当在类型为角色的根文件夹文档中执行此操作时,该标签会被自动视为项目中可用的角色,其值为“Jane”。随后您可在其他文档中使用角色引用关键词调用“Jane”。

角色“Jane”还将显示在文档查看器下方引用面板的角色选项卡中。

!> 注意

标签归属的故事元素类别由根文件夹类型决定。更多详情请参阅根文件夹工作原理

如何使用引用

项目中任意级别的标题均可包含对笔记中设置的标签的引用。这些引用会被项目索引收集,用于生成大纲视图等功能。

引用需通过特殊关键词配合对应标签列表设置。有效关键词如下所示。引用行的格式为@keyword: value1, [value2] ... [valueN]。所有引用关键词均支持多值设置。

  • @pov

    当前章节的视角角色。目标必须是角色类型根文件夹中的笔记标签。

  • @focus

    当前章节的焦点角色。当焦点角色与视角角色不同时可使用此标签。目标必须是角色类型根文件夹中的笔记标签。

  • @char

    用于当前章节中的其他角色。目标必须是角色类型根文件夹中的笔记标签。若已使用视角角色或焦点角色标签,则此处不应包含这些角色。

  • @plot

    当前章节推进的主线或支线剧情。目标必须是剧情类型根文件夹中的笔记标签。

  • @time

    当前章节涉及的时间线。目标必须是时间线类型根文件夹中的笔记标签。

  • @location

    当前章节发生的位置。目标必须是地点类型根文件夹中的笔记标签。

  • @object

    当前章节出现的物体。目标必须是Object类型根文件夹中的笔记标签。

  • @entity

    当前章节出现的实体。目标必须是Entities类型根文件夹中的笔记标签。

  • @custom

    当前章节中的自定义引用。目标必须是Custom类型根文件夹下的笔记标签。自定义文件夹用于存放您可能需要使用的其他类别笔记。

  • @mention

    用于提及任何未出现在当前章节的内容、人物或地点。适用于在场景中透露角色或地点的细节,但这些内容本身并不属于该场景的情况。这在后期检查一致性时会很有用。任何根笔记文件夹中的标签都可归入@提及

  • @story

    用于在项目其他位置引用小说文档(如场景或章节)。小说类型文件夹内的文档也可设置标签,此关键词用于引用这些文档。

正确使用标签和引用时,编辑器会通过高亮颜色进行提示。

!> 注意
若已定义标签的索引过时,高亮功能可能出现误判。此时请按 F9 键重新生成索引,或从工具菜单选择重建索引。通常文档保存时会自动重建索引,因此通常无需手动操作。

!> 提示
若在编辑器中添加了尚未存在的标签引用,可右键点击该引用并选择为标签创建笔记。此操作将自动在正确类型的根文件夹中生成新笔记,并定义该新标签。

一条笔记也可像小说文档那样引用另一条笔记。当笔记在文档查看器中打开时,引用内容会变成可点击的链接,便于追踪情节关联。在文档编辑器中,按住Ctrl键点击链接即可跳转。点击的链接始终在视图面板中打开。

您的笔记不会显示在大纲视图中,因此笔记间的引用仅在您需要通过点击在笔记间导航时才有意义——当然,若您仅想标注两条笔记的关联性,引用同样有效。

!> 提示
若在笔记间设置交叉引用,并使用手稿构建工具将项目导出为HTML文档,这些交叉引用在导出的HTML文档中也会转化为可点击的链接。

示例

包含角色与情节标记的小说文档示例:

## 第一章

@piv:简

### 场景1

@char:约翰、山姆
@plot:主线

从前有这么一个故事……

编辑器中的自动完成功能

当您在新行输入字符 @ 时,文档编辑器中会自动弹出自动完成上下文菜单。该菜单首先会为您推荐可添加的标签或引用关键词,待您输入 : 后,则会从已定义的标签列表中推荐相关引用。

您可通过自动补全功能添加多个引用(用,分隔),甚至可直接输入新引用。右键点击新引用并选择菜单中的为标签创建注释即可创建对应注释。