多级标题可以自动更新序号吗


遇到的问题

使用多级标题时,如果有自己定义的序号,在移除某块内容或者调换顺序时,需要手动更新

预期的效果

希望可以像有序列表一样自动更新,比如将有序列表+多级标题结合,当前好像在核心插件大纲中无法识别;
如下图所示,只有不在列表中的标题能被识别,列表中的标题样式可能是主题插件识别的

希望可以增加形如1.## 3.1### 的有序标题,更进一步的话希望可以自定义每个文件或者总仓库的序号的形式,1.1 #, '一#'等

个人建议还是按照 markdown 的小标题语法来写, 理由:

  • 通用兼容, 哪个 markdown 编辑器都认 ### level3 heading 但未必认 - ### list item heading
  • Ob 双链可以直接定位到 [[note#heading]]
  • 大量插件直接增强了大纲, 生成 TOC, 或依靠传统大纲做些文章

多级嵌套列表, 固然视觉上可以写成 “大字标题”, 但只有少量插件认得这结构


最后是, 怎么给已经写好的长文档的小标题重新排号

建议是转换为两个任务:

  1. 去掉所有已有编号 (或干脆不对原始文档编号)
  2. 重新编号

脚本有 dataviewjs 实现自动处理标题 好处: 可实时转换, 可自己改写细节逻辑, 仅生成新文档不修改原始笔记

插件有 yalvhe2009/obsidian-title-serial-numberonlyafly/number-headings-obsidianrenmu123/obsidian-markdown-index

这里有些方案 “不太自动”, 但其实就是增加一两个快捷键或宏命令的事