自动编号
一部长篇作品可能由很多章节组成,编写过程中,我们可能会反复修改,有时可能需要删除中间的某个章节,或者在中间添加某个章节。一般情况下,这需要手动修改后续所有章节的编号。
数字章节编号
在 WonderPen 中,新建一个文档时,会尝试根据前一个文档的标题进行自动编号。比如前一个文档的标题是 第 1 章,那么新建的文档的标题就会自动设置为 第 2 章。
自动编号也支持中文编号,比如第一个文章的标题是 第一章,那么新建的文档的标题就会自动设置为 第二章。
日期章节编号
如果前一个文档的标题是形如 2022-01-25 这样的日期的形式,那么新建的文档的标题就会自动设置为下一天的日期,比如 2022-01-26。
在写日记的时候,这个功能应该会比较有用。
宏
虽然自动编号的功能很强大,但是,它也有一些缺点,比如写了若干章节之后,想在中间添加或删除一个的章节,那么这个章节之后的所有章节编号都需要进行修改。如果不想进行手动修改,则可以在章节命名时使用宏。
在 WonderPen 中,可以使用 {$N} 来表示当前章节编号,在显示或导出时,它会被替换为正确的章节编号。如下图所示:

上图中的 第 {$N} 章 佳肴,在非编辑状态或导出时,将显示为 第 3 章 剑法。
{$N} 表示当前文档在当前层级的序号,从 1 开始编号。另外还有一个 {$N0},效果类似,不同的是从 0 开始编号。
编号还支持添加数字,语法为 {$N+x},其中的 x 是你想增加的数字。有时候,你可能需要从指定的章节开始编号,比如文件夹中的第一个文档并不是第 1 章,而是第 50 章,这时就可以使用 {$N+49} 或 {$N0+50} 来指定编号。
警告
注意,以上符号中不能包含空格,否则会原样输出。
宏的中文支持
上面宏的用法中,最终显示的章节编号是阿拉伯数字,如果希望显示中文章节编号,可以使用 {$N_ZH} 或 {$N0_ZH},含义与上面的常规用法相同,不同的是输入的将是汉字数字编号。
比如,目录下的第一个 第{$N_ZH}章 将显示为 第一章,而第一个 第{$N0_ZH}章 则显示为 第零章。
同样地,也可以使用 {$N_ZH+50} 或 {$N0_ZH+50} 这样的形式,来从指定的数字开始编号。
双重自动编号
有时候我们的章节中需要两个编号,第一个是总的章节编号,第二个是小故事的编号,比如下图这样。

每个小故事都有好几章,一个小故事结束后是另一个小故事。
这种场景下,你可能会需要双重自动编号功能。
基础用法
注意标题中有两个编号,分别是章节总编号和小故事编号。
WonderPen 支持自动编号功能,你可以使用 {$N} 的形式为章节进行自动编号,比如 第{$N}章 实际渲染时,会根据位置渲染为 第1章 这样的形式。
在 3.0 中,我们引入了第二个编号代码 {$M},你可以使用它为章节中的第二个数字编号,比如 第{$N}章 小故事A {$M} 会根据位置被渲染为 第1章 小故事A 1 这样的形式。

重置编号
对小故事编号来说,一个小故事结束后,新的小故事需要重置编号,即重新从 1 开始编号。此时,可以在需要重置的章节名中添加 {$M_RESET},这样从这个章节开始就会重新编号了。
如下图所示,章节名为: 第{$N}章 小故事B {$M}{$M_RESET} ,将被渲染为: 第6章 小故事B 1。

其中的 {$M_RESET} 可以放在标题的任意位置,只要章节标题包含这个标志,当前标题以及后续标题中的 {$M} 就将重新从 1 开始编号。
除 {$M_RESET} 外,也有对应的 {$N_RESET},可以将 {$N} 的计数重置为 1。
指定编号开始数字 新
有些时候,我们可能需要让章节从一个指定的数字开始编号,比如作品有多卷,第一卷写了 100 章,第二卷需要从第 101 章开始编号。此时,便可以使用指定编号开始数字的功能。
你可以在目录树中任意位置的标题中输入 {$N_RESET:n} ,将 {$N} 的开始数字设为指定的 n,其中 n 是一个自然数,比如 {$N_RESET:101} 表示该章节的编号从 101 开始,它的下一章的编号则是 102。

上图中,如果没有 {$N_RESET:101},那么第二卷也会从“第1章”开始编号,添加 {$N_RESET:101} 后,编号被重置为从 101 开始,因此章节从“第101章”开始编号。
注意它和 {$N+100} 的不同,{$N+100} 只影响当前章节的编号(编号数加 100),但不会影响后续章节,下一章仍然正常编号。{$N_RESET:101} 则会重置当前及后续所有章节的开始编号。
