Files
curriculum-project-hub/examples/TH-141/固液界面/segments/浸润全谱与高低能表面/textbook.typ
T
hongjr03 9927d38c18 feat(cph): implement nested outline manifest and batch/combined export
ADR-0029 — nested outline manifest, supersedes ADR-0008's flat [[parts]]:
- cph-model: recursive loader over manifest.toml containers / element.toml
  leaves; Lesson.parts (pure elements, DFS order) + Lesson.outline (elements
  interleaved with section headings at their DFS-open position); rejects
  ambiguous/incomplete folders and root-vs-container table misplacement
- cph-diag: new DiagCode::ManifestMalformed for carrier-document structure
  errors (discharges an existing TODO)
- cph-typst: augmented manifest now serializes the outline (element/section
  entries) instead of a flat parts array
- render/lib.typ: render-lesson renders section headings at their depth
- examples/TH-141 migrated to 5 nested section containers + 3 root segments,
  byte-identical element order; smoke-verified via cph check/build + pdftotext

ADR-0030 — batch & combined export, extends ADR-0009/0011:
- cph build with no --target batches every declared target (repeatable
  --target for an explicit subset); any target failure => non-zero exit,
  per-target ledger, independent per-target execution
- cph-model: bundle.toml loader (directory + [info]/[targets.*]/ordered
  lessons with per-lesson target overrides)
- cph-typst: augmented bundle manifest (path-prefixed member outlines),
  Engine::{compile_check_bundle,build_bundle_pdf}
- render/lib.typ: render-bundle assembles member lessons under per-lesson
  headings, depth-shifts their own section headings, resets example/lemma
  counters at each lesson boundary by default
- cph-cli: `cph bundle <path> --target <name>` subcommand, same batching
  contract as `cph build`
- new bundle fixtures/tests (cph-model unit + cph-typst through-template PDF
  compile), smoke-verified via a real 2-lesson merged PDF

Verification: cargo fmt/clippy/test clean across the workspace (68 tests);
real cph check/build/bundle runs against TH-141 and a bundle fixture, PDF
content inspected via pdftotext.
2026-08-05 18:34:05 +08:00

18 lines
1.1 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@GGZ判据 $r equiv gamma_(S G) \/ gamma_(L G)$ 切段:
#figure(
table(
columns: (auto, auto, auto),
align: (left, left, left),
table.header[*比值范围*][*接触角*][*现象*],
[$r > 1$], [无解], [完全铺展(superwetting],
[$r = 1$], [$theta = 0$], [临界完全浸润],
[$1\/4 < r < 1$], [$0 < theta < pi\/2$], [部分浸润],
[$r = 1\/4$], [$theta = pi\/2$], [临界不浸润],
[$r < 1\/4$], [$theta > pi\/2$], [不浸润、成珠状],
),
caption: [浸润全谱]
) <浸润全谱表>
@γ量级表 与浸润全谱并置就得到日常现象的解释。高能表面如金属、清洁玻璃,$gamma_(S G) tilde.op 1 thin "J/m"^2$,远大于水的 $gamma_(L G) tilde.op 0.072 thin "J/m"^2$$r >> 1$,水在其上完全铺展。低能表面如石蜡、Teflon,$gamma_(S G) tilde.op 0.02 thin "J/m"^2$ 小于水的 $gamma_(L G)$$r < 1\/4$,水在其上不浸润、成珠状。"水在玻璃上铺、在荷叶上成珠"这两件日常现象就是 $r$ 取值在 @GGZ判据 中位于 $r >> 1$ $r < 1\/4$ 两端的直接体现。