构建原则
本文描述内容层级的构建原则和划分方法
构建原则
充分利用 Obsidian 的特色语法, 包括但不限于:
- 使用双链语法, 组织目录与相关内容, 构建一个数学知识的网络化结构.
- 利用 Callout 语法, 为重点内容创建简洁美观的卡片式词条.
- 通过块引用语法, 将原子化的内容引用到更高层次的文章中, 以实现高效的知识整合与关联.
为了便于知识传播, 使用TikzJax绘制图形, 参照tikz绘图标准.
禁止大量使用不必要的图片,此处不是图片垃圾场, 不要倒垃圾!!!!
知识网络化
本节按语义建立联系,不设数量配额。
知识网络的目标是让读者看懂概念的归属、依赖和用途,而不是让每个文件凑够链接数:
dlink的首要职责是指向直接父级目录(MOC);根目录可以为空。- 只有当另一关系非常直接、稳定,且正文中不适合自然说明时,才在
dlink增加一个辅助目标。 - 前置依赖、并列对比、推论或应用应在正文首次出现该语义时自然双链;没有相应论述就不为链接另造套话。
- 同一目标已在正文自然链接时,通常不再放入
dlink;嵌入、正文链接和dlink分别表达内容复用、论述关系和目录归属,不互相凑数。 - 原子词条只要能独立理解并由父级 MOC 收录,可以没有正文链接。检查器的
WARN只要求人工判断,不授权机械补链。 - 判断一条联系是否应保留时,必须能回答“它表达的是归属、前置、对比还是应用”;答不出来就不添加。
根据以上原则, 我构建了如下内容规范
文件层级
本仓库中的 Markdown 文件按职责分为三种;其中知识正文只有“文档”和“词条”两种形态:
下表中为简要说明, 详细说明请转到每个子标题
| 层级 | 文件名示例 | 作用 | 描述 | 命名 |
|---|---|---|---|---|
| 目录 | --微积分--.md | 用于组织文档 | 动态目录+章节导语 | 按目录命名规则命名 |
| 文档 | 导数应用.md | 用于探讨各个主题 | 结构化知识体系+逻辑推导, 可以引用若干词条. | 直接用主题命名,无前后缀 |
| 词条 | 泰勒公式.md | 表示基础概念或公式 | 原子化概念;使用一段话概括. 不允许使用标题, 可以使用Callouts卡片引用 | 直接用概念命名,无前后缀 |
目录
目录以树状结构组织. 包含章节列表的文件, 有时还会包含一些简要说明
1. 目录文件命名规则
在文件名前后加若干个连字符 - , 连字符的数量代表目录层级, 如:
- 一级目录:
-高等数学--初等数学- - 二级目录:
--微积分----概率论-- - 三级目录:
---极限与连续------导数与微分---
这样做的好处:
- 保证在任何操作系统下, 目录文件总是排序在最前面.
- 可以使用dataview语法, 按目录等级进行查询
考虑到有的人不喜欢这种命名规则, 为了不影响网页版部署的效果, 可自行做名称处理. 本仓库的GitHub Page部署页面已做处理.
2. 目录结构
目录文件负责学习路径和自动索引,不是文件夹内容的重复清单:
- frontmatter 使用
数学、目录两个标签;dlink只写直接父级目录,根 MOC 可写空列表。 chapter仅用于确有教材章节顺序的索引;顶层或非编号目录不为通过检查而虚构编号。- 导语 Callout 用一小段说明本层内容的定位、边界或学习主线。
- 手工目录只收录需要人工排序的核心节点,按前置关系和阅读顺序排列;不必穷举同文件夹的每篇笔记。
- Base 自动索引负责完整文件清单。自动索引之后不再追加与目录职责无关的正文、嵌入或重复列表。
- 新建或迁移目录时复制同层已经工作的 Base 查询,只修改必要的过滤条件;不因格式统一批量改写旧查询。
示意模板:
---
tags:
- 数学
- 目录
dlink:
- "[[上级目录]]"
---
> [!NOTE] 章节导语
> 简要说明本层内容的定位和学习主线。
# 目录
1. [[需要人工排序的核心节点]]
# 自动索引
```base
filters:
and:
- file.folder.contains(this.file.folder)
views:
- type: list
order:
- chapter文档
1. 结构化写作指南
| 标题层级 | 使用场景 | 内容要求 |
|---|---|---|
| 无标题 | 原子词条 | 直接阐述一个可独立理解的核心概念或公式 |
| # | 多个并列大概念 | 只在每个大概念内部还需要 H2/H3 组织时使用 |
| ## | 普通文档的主要部分 | 按论述需要组织定义、性质、证明、应用等 |
| ### | 主要部分的子模块 | 细分条件、证明步骤或案例 |
| Callouts | 重点内容强调 | 定义/定理/警告等特殊内容 |
- 可以引用词条:
![[泰勒公式]]
2. 文档属性规范
%%YAMLFrontmatter%%
属性类型是列表的 YAML 字段可以使用行内数组或分行列表;新增和实际修改时统一优先使用分行列表。
tags:
- 数学 # 本库的默认标签, 更细致的分类工作尚未进行
- 公式 # 如果涉及公式则添加此tag
- 例题 # 如果是例题的文档则添加此tag
dlink: # 直接父级目录;极强且正文不宜承载的关系可例外增加
- "[[上级目录]]"
aliases: # 别名,简写,英文或日文名
- 简称
- 英文名称
- 日文名称
chapter: 3 # 章节序号, 参考教材设置
urlink: # 外部引用, 如 Wikipedia 链接
- 维基百科链接
- 教材页码
author:
- 开发者A # 多作者按实质贡献排序
- GPT-4 # LLM 有实质写作贡献时可署名
datetime: 2024-05-20 # 创建日期, 也可填修改时间,不区分,不强求.为了简便考虑和edittime共用datetime属性
edittime: 2025-01-01 # 修改日期, 暂时没有计划使用以下是一个符合规范的yaml示例:
---
tags: [数学]
dlink:
- [[不定积分]]
aliases: [Integration Table]
chapter: 5
urlink: [https://en.wikipedia.org/wiki/Integral_table]
author: [张三, GPT]
datetime: 2024-11-30
---author 表示实质写作贡献,不是修改痕迹:
- 字段存在时必须是 YAML 列表;推荐分行写法,禁止
author: 某人标量。 - 新建整篇笔记,或新增/重写一个具有独立论述的完整段落或章节时,加入实际贡献者或当前模型。
- 只修正错字、公式符号、链接、frontmatter、标题层级、格式,或做不改变叙述的局部校正时,不新增署名。
- 未经任务明确授权,不删除、替换或重新排序原有作者;不能判断是否达到实质贡献时,保留原值并提出建议。
tags表示内容分类,不承担来源追踪;不强制添加AItag。历史AItag 可保留,不为统一而批量修改。
3. 标题结构
- 标题只承担目录和结构作用,只写一个简洁的中文名称。禁止用斜杠并列名称,禁止在括号中补充英文或说明,禁止把中文名称与英文名称混写在同一标题中。
- 需要保留的英文别名或检索词写在标题下一行的 Obsidian 注释中,例如先写
## A. 斜线填充,下一行写%%HatchingFills%%。概念说明、适用条件和选择理由写进正文,不塞进标题。 - 词条:禁止标题,直接给出完整条件下的定义、公式或结论。
- 普通单主题文档:不重复写与文件名相同的 H1;主要部分从 H2 开始,内部再用 H3。
- 多大概念文档:只有一篇文章确实并列讲解多个大概念,并且每个大概念内部还需要“定义、计算、性质、应用”等多层组织时,才用概念名作 H1。
- H1 应尽量使用简洁、稳定的概念名称,不加“第一章”“一、”“1.”等装饰性序号;步骤和流程使用有序列表。序号本身具有数学含义时可以保留。
- “简介、定义、推导、性质、示例、推论、推广、应用”是按内容选用的候选部分,不是每篇文档都必须填满的模板。标题必须承载实际内容,不能为结构整齐制造空节。
- MOC 可以使用
# 目录、# 自动索引这样的职责标题;外部资料来源写在正文或urlink,不以来源名称机械制造 H1。 - 不得仅凭标题层级批量升降级。修改前先判断文章是在讲一个主题,还是多个并列大概念。
例如,一篇文章同时讨论两个各自需要分层展开的大概念时:
# 目录
- [[#无穷小]]
- [[#无穷大]]
---
# 无穷小
## 简介
## 定义
# 无穷大
## 简介
## 定义4. 改写与精简原则
改写已有文档时,禁止整篇重写或为精简而删除信息,遵循:
- 逐句审视:删除任何句子前,先判断它承载什么信息。
- 保留:背景说明、概念间的对比与联系、适用条件、推导动机、学习线索——这些与公式同等重要。
- 只删三类:纯对话体废话("综上所述""希望这能帮助你")、事实或公式错误、完全重复的内容。
- 对号入座:保留的信息按作用归入标题结构——定义/公式→定义,推论→性质,计算→示例,背景/动机/联系→正文开头或对应概念处。
- 最小改动:能局部修补就不整段重写;每处删改都要能回答"原文有什么问题、这次解决什么、损失了什么信息"。
- 保护隐含条件:定义域、非零/正性条件、收敛条件、例外情形、反例、作者强调和与前后知识点的衔接都属于内容;格式整理不能删掉它们。
- 高删除量先审查:若一次修改删除了整段、多个例子或明显比例的原文,先对照基线逐项列出保留与删除理由,不把“更精炼”本身当理由。
- 数学内容要验算:新增或改动公式、数值、定理条件时,至少用手推、代入特殊值、检查反例或脚本计算中的一种方式核对;条件复杂或结论高风险时使用两种独立方式。只改格式、链接或标点而未改变数学内容时,不必重复验算。
词条
词条是原子化的内容, 概念源自Zettelkasten卡片盒笔记法:
- 每个词条只处理一个核心概念、公式或结论,但“最小”以条件完整、可独立理解为下限,不以一句话或一个公式的字数为配额。
- 必须保留定义域、假设、例外情形和符号说明;若需要多个并列大概念或多层推导,应写成文档而不是压缩条件。
- 具备独立性, 不依赖于未说明的上下文信息进行理解.
- 可以被灵活地组合和引用, 从而提高知识的复用率.
- 可以用 Callouts 引用
- 禁止任何等级标题
1. 词条存储位置
词条存放在其所属的三级目录下, 与目录文件同级. 例如:
微积分/极限/
├─ ---极限与连续---.md # 三级目录
├─ 夹逼准则.md # 词条
├─ 介值定理.md # 词条
└─ 数列极限.md # 词条2. 词条命名规范
- 使用概念的标准中文名称作为文件名
- 文件名不加任何前后缀
- 若概念有多个常用名称, 使用aliases添加别名
3. 别名规范
%%aliases%%
- 按使用频率自行排列, 常用的放前面
- 必须包含的别名类型:
- 中文简称或常用别称
- 英文名称
- 日文名称(如有)
- 示例:
aliases:
- 夹逼定理 # 常用别称
- Squeeze Theorem # 英文
- はさみうちの原理 # 日文4. 词条内容格式
使用Callout语法包裹核心内容:
> [!NOTE] 泰勒公式
> $$f(x) = \sum_{k=0}^n \frac{f^{(k)}(a)}{k!}(x-a)^k + R_n(x)$$或直接书写定义/公式:
设数列 $\{x_n\}$,若存在常数 $a$ 满足:
$$\forall \varepsilon>0,\ \exists N\in\mathbb{N}^+,\ n>N \Rightarrow |x_n-a|<\varepsilon$$
则称数列**收敛于 $a$**,记作 $\lim_{n\to\infty}x_n=a$5. 词条引用方式
在文档中整合词条内容时, 使用嵌入引用语法:
![[向量]]这样词条内容会直接显示在文档中, 与手写内容无异.