forked from EduCraft/curriculum-project-hub
1.3 KiB
1.3 KiB
cph 0.0.2 工程结构
<project>/
├── .cph-version # 固定写 0.0.2
├── manifest.toml
├── outline.md
├── exports/
│ ├── student.typ
│ └── teacher.typ
├── segments/<名称>/
│ ├── element.toml # kind = "segment"
│ └── textbook.typ
├── lemmas/<名称>/
│ ├── element.toml # kind = "lemma"
│ ├── stmt.typ
│ └── proof.typ # 可选
├── examples/<名称>/
│ ├── element.toml # kind = "example";可有 source = "..."
│ ├── problem.typ
│ └── solution.typ
├── sop/<名称>/
│ ├── element.toml # kind = "sop"
│ └── sop.typ
└── build/
manifest.toml 中的 [[parts]] 顺序就是最终讲义顺序。每项只写 kind 与相对 path;可选字段是否存在由 cph 在构建时解析。目录名与清单路径必须逐字一致。
当前字段契约:
- segment:必需
textbook.typ。 - lemma:必需
stmt.typ,可选proof.typ。 - example:必需
problem.typ与solution.typ;element.toml可写字符串source。 - sop:必需
sop.typ。
章节标题没有独立 kind。需要在讲义中显示章节过渡时,创建一个 segment,并在 textbook.typ 中用 Typst 标题表达。