Skip to main content

outline-planning

在 main.typ 中规划章节大纲,包括设计 == 二级目录和 === 三级目录,并编写 // 内容注释

Jump to install

Source facts

Repository
locusyuri/ComputerScience
Last source activity
June 16, 2026 at 09:53
Detected SKILL.md language
Chinese
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
outline-planning
description
在 main.typ 中规划章节大纲,包括设计 == 二级目录和 === 三级目录,并编写 // 内容注释
# 规划章节大纲 ## 任务说明 在已有 `main.typ` 的 `= Chapter` 下方,按 `==` → `===` → `// 注释` → `正文` 的层次生成内容。工作流分三步:**先规划大纲 → 确认 → 写入实际内容**。 --- ## 执行步骤 ### 1. 读取上下文 - 打开 `main.typ`,找到目标 `= Chapter` 的位置 - 确认该 Chapter 是否已有内容(已有 `==` 则跳过或扩展,完全空白则新建) - 同时阅读该 Chapter 上方的注释大纲(`// Chapter N:标题` 及 `// N.1` 列表),理解原设计意图 - 检查跨 Chapter 重复:确保本节规划的内容不与前面或后面章节重叠 - 检查已有的正文写作风格(Callout 使用频率、公式呈现方式、列表格式等),保持一致 ### 2. 设计二层结构(==) **`==` 对应原注释大纲中的主知识点块**,划分原则: - 每个 `==` 代表一个独立的知识单元(对应原注释中 `// N.1`、`// N.2` 等行) - 数量通常 3-6 个,太少则粒度太粗,太多则拆分过细 - 按学习顺序排列:概念 → 方法 → 深入 → 扩展/实战 - 如果原注释大纲未细分,按该主题的经典教材/知识体系划分 ### 3. 设计三层结构(===) **`===` 是 `==` 下的具体知识点**,划分原则: - 每个 `===` 是一个可独立讲解的要点 - 每个 `==` 下通常 2-5 个 `===` - 标题具体、可操作,如 "最小二乘法"、"交叉熵损失" 而非 "原理" - 如果某个知识点特别大(如梯度下降),可以单开一个 `==` 而非塞在别人下面 ### 4. 编写内容注释(//) 在 `===` 下方写 `//` 注释,内容要求: - **第一行**:该知识点的核心定义/公式/一句话总结 - **后续行**:关键要点、公式、与前后知识的联系 - **按条罗列**,每行一个要点,用 `// -` 或 `// 中文:` - **标注交叉引用**:`详见 ChX`、`复用 ChY 评估指标`、`对比 ChZ 的 XXX` ### 5. 写入实际内容(正文) 大纲确认后,在 `===` 下方(注释之后)展开实际教学内容: **内容结构模板**: ```typst === 知识点名称 // 注释:核心要点 定义/介绍段落... 公式(如果需要) #note[ 注释框:补充说明、与其他知识的对比。 ] - 列表一 - 列表二 #tip[ 技巧或记忆方法。 ] #caution[ 注意事项或易错点。 ] ``` **Callout 使用指南(根据本项目写作经验)**: - `#note[...]`:定义注释、核心直觉、与其它知识的对比 - `#tip[...]`:记忆技巧、实用建议 - `#info[...]`:重要背景或扩展信息 - `#caution[...]`:注意事项、局限性 - 每个 `===` 内使用 1-2 个 Callout,过多则冗余 **数学公式写作要点**: - 多字母变量用引号:`"RSS"`、`"Normal"`、`"en"` - 波浪号用 `tilde`:`$epsilon tilde "Normal"(0,1)$` - 箭头用 `arrow(l)` / `arrow(r)` / `arrow(u)` / `arrow(d)` - 远大于/远小于用 `gt.gt` / `lt.lt` - 加减号用 `plus.minus` - 乘积符号用 `product` - 渐近符号(公式到箭头)用 `=>` - 不要用 `\prod`、`\sim`、`\uparrow` 等 LaTeX 宏名 - 不要用 `larr`、`uparrow`、`downarrow` 等错误符号名 ### 6. 提交用户确认 - 在写入正文之前,**先展示规划大纲**给用户确认 - 方案中说明:`==` 和 `===` 的数量、每个 `==` 的覆盖范围 - 用户确认后再执行写入 --- ## 关键原则 1. **== 与 === 必须同时生成**:不要只写 `==` 不留 `===` 的空间 2. **注释紧跟 ===**:注释写在对应的 `===` 下方,不留多余空行(用空行分隔不同的 `===` 即可) 3. **// 注释不能遗漏**:每个 `===` 都必须有至少一行 `//` 解释内容要点 4. **避免与原大纲脱节**:`==` 的设计应忠实反映原 `// N.x` 注释的意图 5. **复用已有内容用引用**:遇重叠内容,注释中写 `详见 ChX`,正文中直接引用不重复展开 6. **写完必须编译验证**:`typst compile "main.typ" "main.pdf" --root .`,修正所有 error 和 warning 7. **Error 修复顺序**:查看 `error:` 行 → 定位具体行号 → 修复 → 重新编译,直到零 error 8. **Warning 也应修复**:`no text within stars` 等 warning 虽不阻止编译,但影响语义,应统一改用 `*斜体*` ## 示例对照 **原注释大纲**: ```typst // Chapter 2:线性模型 🔶 // 2.1 线性回归:最小二乘法、正规方程、梯度下降 // 2.2 逻辑回归:sigmoid 函数、交叉熵损失、多分类 // 2.3 正则化:L1(Lasso)、L2(Ridge)、Elastic Net // 2.4 广义线性模型:softmax 回归、感知机 ``` **生成结果**: ```typst = 线性模型 == 线性回归 === 最小二乘法 // 目标函数:最小化残差平方和 RSS = Σ(yᵢ - wᵀxᵢ)² // 闭式解推导:ŵ = (XᵀX)⁻¹Xᵀy // 几何解释:投影到列空间 === 正规方程 // 解析解 w* = (XᵀX)⁻¹Xᵀy // 前提:XᵀX 可逆(特征数 < 样本数、无多重共线性) === 梯度下降 // 批量梯度下降(BGD):每步使用全部样本 // 随机梯度下降(SGD):每步使用一个样本 // 小批量梯度下降(Mini-batch GD):折中方案 === 模型评估 // 回归指标:MSE / RMSE / MAE / R²(详见 Ch1 模型评估指标) == 逻辑回归 === sigmoid 函数 // σ(z) = 1 / (1 + e^{-z}),输出 (0,1) 概率 // 决策边界:σ(wᵀx) ≥ 0.5 → 预测正类 === 交叉熵损失 // L(w) = -Σ [yᵢ log ŷᵢ + (1-yᵢ) log(1-ŷᵢ)] // 为什么不用 MSE:非凸优化困难、概率解释不匹配 === 多分类 // One-vs-Rest(OvR):K 个二分类器 // Softmax 回归(见 2.4)是更自然的多分类扩展 == 正则化 === L1 正则化(Lasso) // 损失:RSS + λ Σ|wⱼ|,产生稀疏解 → 特征选择 === L2 正则化(Ridge) // 损失:RSS + λ Σwⱼ²,权重缩小但不为 0 === Elastic Net // 结合 L1 的稀疏性和 L2 的稳定性 === 正则化路径与调参 // 交叉验证选择 λ,λ↑ → 方差↓ 偏差↑ == 广义线性模型 === Softmax 回归 // P(y=k|x) = exp(wₖᵀx) / Σ exp(wⱼᵀx) === 感知机 // 二分类线性模型:y = sign(wᵀx + b),误分类驱动更新 ```
View on GitHub