From 32834e88e2520286b408408bc2077e17fd0cb7cf Mon Sep 17 00:00:00 2001 From: Myriad-Dreamin Date: Tue, 7 Oct 2025 18:37:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=BF=E6=8D=A2=E8=BF=9B=E9=98=B6?= =?UTF-8?q?=E5=8F=82=E8=80=83=E6=A6=82=E5=BF=B5=E4=B8=BA=E4=B8=93=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/basic/mod.typ | 28 ----- src/basic/writing-math.typ | 3 - src/book.typ | 102 +++++++++--------- src/intermediate/other-file.typ | 4 - src/intermediate/reference-grammar.typ | 23 ---- src/{basic => tutorial}/IDE-autocomplete.png | Bin .../doc-modulize.typ | 0 .../doc-stateful.typ | 2 +- .../figure-time-travel.typ | 0 src/{basic => tutorial}/latex-look.typ | 0 src/tutorial/mod.typ | 38 +++++++ src/{basic => tutorial}/other-file.typ | 0 .../packages/m1.typ | 0 .../reference-bibliography.typ | 0 .../reference-calculation.typ | 0 src/{basic => tutorial}/reference-color.typ | 0 .../reference-counter-state.typ | 0 .../reference-data-process.typ | 0 src/{basic => tutorial}/reference-date.typ | 0 src/{basic => tutorial}/reference-grammar.typ | 0 .../reference-layout.typ | 0 .../reference-length.typ | 0 .../reference-math-mode.typ | 0 .../reference-math-symbols.typ | 0 .../reference-outline.typ | 0 .../reference-syntax-analysis.typ | 0 .../reference-table.typ | 0 .../reference-type-builtin.typ | 0 .../reference-typebase.typ | 0 src/{basic => tutorial}/reference-utils.typ | 0 .../reference-visualization.typ | 0 .../reference-wasm-plugin.typ | 0 .../scripting-block-and-expression.typ | 0 src/{basic => tutorial}/scripting-color.typ | 0 .../scripting-composite.typ | 0 src/{basic => tutorial}/scripting-content.typ | 0 .../scripting-control-flow.typ | 0 src/{basic => tutorial}/scripting-layout.typ | 0 src/{basic => tutorial}/scripting-literal.typ | 0 src/{basic => tutorial}/scripting-main.typ | 0 src/{basic => tutorial}/scripting-shape.typ | 0 src/{basic => tutorial}/scripting-style.typ | 0 .../scripting-variable.typ | 0 .../stateful-v0.12.0/q0.typ | 0 .../stateful-v0.12.0/q1.typ | 0 .../stateful-v0.12.0/s1.typ | 0 .../stateful-v0.12.0/s2.typ | 0 .../stateful-v0.12.0/s3.typ | 0 .../stateful/q0.typ | 0 .../stateful/q1.typ | 0 .../stateful/s1.typ | 0 .../stateful/s2.typ | 0 .../stateful/s3.typ | 0 .../systempropertiesadvanced.png | Bin .../writing-chinese.typ | 0 src/{basic => tutorial}/writing-markup.typ | 0 .../writing-math.typ | 0 src/{basic => tutorial}/writing-scripting.typ | 0 src/{intermediate => tutorial}/writing.typ | 0 59 files changed, 90 insertions(+), 110 deletions(-) delete mode 100644 src/basic/mod.typ delete mode 100644 src/basic/writing-math.typ delete mode 100644 src/intermediate/other-file.typ delete mode 100644 src/intermediate/reference-grammar.typ rename src/{basic => tutorial}/IDE-autocomplete.png (100%) rename src/{intermediate => tutorial}/doc-modulize.typ (100%) rename src/{intermediate => tutorial}/doc-stateful.typ (99%) rename src/{intermediate => tutorial}/figure-time-travel.typ (100%) rename src/{basic => tutorial}/latex-look.typ (100%) create mode 100644 src/tutorial/mod.typ rename src/{basic => tutorial}/other-file.typ (100%) rename src/{intermediate => tutorial}/packages/m1.typ (100%) rename src/{basic => tutorial}/reference-bibliography.typ (100%) rename src/{basic => tutorial}/reference-calculation.typ (100%) rename src/{basic => tutorial}/reference-color.typ (100%) rename src/{intermediate => tutorial}/reference-counter-state.typ (100%) rename src/{basic => tutorial}/reference-data-process.typ (100%) rename src/{basic => tutorial}/reference-date.typ (100%) rename src/{basic => tutorial}/reference-grammar.typ (100%) rename src/{intermediate => tutorial}/reference-layout.typ (100%) rename src/{intermediate => tutorial}/reference-length.typ (100%) rename src/{basic => tutorial}/reference-math-mode.typ (100%) rename src/{basic => tutorial}/reference-math-symbols.typ (100%) rename src/{intermediate => tutorial}/reference-outline.typ (100%) rename src/{basic => tutorial}/reference-syntax-analysis.typ (100%) rename src/{intermediate => tutorial}/reference-table.typ (100%) rename src/{basic => tutorial}/reference-type-builtin.typ (100%) rename src/{basic => tutorial}/reference-typebase.typ (100%) rename src/{basic => tutorial}/reference-utils.typ (100%) rename src/{basic => tutorial}/reference-visualization.typ (100%) rename src/{basic => tutorial}/reference-wasm-plugin.typ (100%) rename src/{basic => tutorial}/scripting-block-and-expression.typ (100%) rename src/{basic => tutorial}/scripting-color.typ (100%) rename src/{basic => tutorial}/scripting-composite.typ (100%) rename src/{basic => tutorial}/scripting-content.typ (100%) rename src/{basic => tutorial}/scripting-control-flow.typ (100%) rename src/{basic => tutorial}/scripting-layout.typ (100%) rename src/{basic => tutorial}/scripting-literal.typ (100%) rename src/{basic => tutorial}/scripting-main.typ (100%) rename src/{basic => tutorial}/scripting-shape.typ (100%) rename src/{basic => tutorial}/scripting-style.typ (100%) rename src/{basic => tutorial}/scripting-variable.typ (100%) rename src/{intermediate => tutorial}/stateful-v0.12.0/q0.typ (100%) rename src/{intermediate => tutorial}/stateful-v0.12.0/q1.typ (100%) rename src/{intermediate => tutorial}/stateful-v0.12.0/s1.typ (100%) rename src/{intermediate => tutorial}/stateful-v0.12.0/s2.typ (100%) rename src/{intermediate => tutorial}/stateful-v0.12.0/s3.typ (100%) rename src/{intermediate => tutorial}/stateful/q0.typ (100%) rename src/{intermediate => tutorial}/stateful/q1.typ (100%) rename src/{intermediate => tutorial}/stateful/s1.typ (100%) rename src/{intermediate => tutorial}/stateful/s2.typ (100%) rename src/{intermediate => tutorial}/stateful/s3.typ (100%) rename src/{intermediate => tutorial}/systempropertiesadvanced.png (100%) rename src/{intermediate => tutorial}/writing-chinese.typ (100%) rename src/{basic => tutorial}/writing-markup.typ (100%) rename src/{intermediate => tutorial}/writing-math.typ (100%) rename src/{basic => tutorial}/writing-scripting.typ (100%) rename src/{intermediate => tutorial}/writing.typ (100%) diff --git a/src/basic/mod.typ b/src/basic/mod.typ deleted file mode 100644 index c7650bb..0000000 --- a/src/basic/mod.typ +++ /dev/null @@ -1,28 +0,0 @@ -#import "/src/book.typ" -#import "/typ/templates/page.typ": main-color, is-web-target - -#import "../mod.typ": ( - code as _code, - exec-code as _exec-code, - refs, - todo-box, - todo-color, - pro-tip, - typst-func, - term, - mark, - exercise, - ref-bookmark, - ref-method-signature, - ref-func-signature, - ref-cons-signature, -) - -#let eval-local(it, scope, res) = if res != none { - res -} else { - eval(it.text, mode: "markup", scope: scope) -} -#let exec-code(it, scope: (:), res: none, ..args) = _exec-code(it, res: eval-local(it, scope, res), ..args) -/// - it (content): the body of code. -#let code(it, scope: (:), res: none, ..args) = _code(it, res: eval-local(it, scope, res), ..args) diff --git a/src/basic/writing-math.typ b/src/basic/writing-math.typ deleted file mode 100644 index 0f5db69..0000000 --- a/src/basic/writing-math.typ +++ /dev/null @@ -1,3 +0,0 @@ -#import "mod.typ": * - -#show: book.page.with(title: [数学模式]) diff --git a/src/book.typ b/src/book.typ index 61417c7..d30ffa1 100644 --- a/src/book.typ +++ b/src/book.typ @@ -14,46 +14,46 @@ summary: [ #prefix-chapter("introduction.typ")[导引] // 计划修改 - = 基础教程 — 排版Ⅰ - - #chapter("basic/writing-markup.typ")[标记模式] - - #chapter("basic/writing-scripting.typ")[脚本模式] - // - #chapter("basic/writing-math.typ")[数学模式] - = 基础教程 — 脚本Ⅰ - - #chapter("basic/scripting-literal.typ")[基本类型] - - #chapter("basic/scripting-variable.typ")[变量与函数] - - #chapter("basic/scripting-composite.typ")[复合类型] - = 基础教程 — 排版Ⅱ - - #chapter("basic/scripting-main.typ")[编译流程] - - #chapter("basic/scripting-layout.typ")[长度与布局] - - #chapter("basic/scripting-content.typ")[文档树] - - #chapter("basic/scripting-color.typ")[颜色类型] - - #chapter("basic/scripting-style.typ")[选择器与样式] - = 基础教程 — 脚本Ⅱ - - #chapter("basic/scripting-block-and-expression.typ")[表达式] - - #chapter("basic/scripting-control-flow.typ")[控制流] - - #chapter("intermediate/doc-modulize.typ")[模块化(多文件)] - - #chapter("intermediate/doc-stateful.typ")[状态化] - = 基础教程 — 排版Ⅲ - - #chapter("basic/scripting-shape.typ")[图表] - - #chapter("intermediate/writing-chinese.typ")[中文排版] - - #chapter("intermediate/writing-math.typ")[数学排版] - = 基础教程 — 附录Ⅰ - - #chapter("basic/reference-grammar.typ")[语法示例检索表] - - #chapter("basic/reference-utils.typ")[常用函数表] - - #chapter("basic/reference-math-symbols.typ")[常用数学符号] + = 教程 — 排版Ⅰ + - #chapter("tutorial/writing-markup.typ")[标记模式] + - #chapter("tutorial/writing-scripting.typ")[脚本模式] + // - #chapter("tutorial/writing-math.typ")[数学模式] + = 教程 — 脚本Ⅰ + - #chapter("tutorial/scripting-literal.typ")[基本类型] + - #chapter("tutorial/scripting-variable.typ")[变量与函数] + - #chapter("tutorial/scripting-composite.typ")[复合类型] + = 教程 — 排版Ⅱ + - #chapter("tutorial/scripting-main.typ")[编译流程] + - #chapter("tutorial/scripting-layout.typ")[长度与布局] + - #chapter("tutorial/scripting-content.typ")[文档树] + - #chapter("tutorial/scripting-color.typ")[颜色类型] + - #chapter("tutorial/scripting-style.typ")[选择器与样式] + = 教程 — 脚本Ⅱ + - #chapter("tutorial/doc-modulize.typ")[模块化(多文件)] + - #chapter("tutorial/scripting-block-and-expression.typ")[表达式] + - #chapter("tutorial/scripting-control-flow.typ")[控制流] + - #chapter("tutorial/doc-stateful.typ")[状态化] + = 教程 — 排版Ⅲ + - #chapter("tutorial/scripting-shape.typ")[图表] + - #chapter("tutorial/writing-chinese.typ")[中文排版] + - #chapter("tutorial/writing-math.typ")[数学排版] + = 教程 — 附录Ⅰ + // - #chapter("tutorial/reference-grammar.typ")[语法示例检索表] + - #chapter("tutorial/reference-utils.typ")[常用函数表] + - #chapter("tutorial/reference-math-symbols.typ")[常用数学符号] - #chapter(none)[特殊Unicode字符] - = 基础参考 - - #chapter("basic/reference-typebase.typ")[基本类型] - - #chapter("basic/reference-type-builtin.typ")[内置类型] - - #chapter("basic/reference-date.typ")[时间类型] - // - #chapter("basic/reference-visualization.typ")[图形与几何元素] - // - #chapter("basic/reference-color.typ")[颜色、色彩渐变与模式] - - #chapter("basic/reference-data-process.typ")[数据读写] - - #chapter("basic/reference-data-process.typ")[数据处理] - - #chapter("basic/reference-calculation.typ")[数值计算] - - #chapter("basic/reference-math-mode.typ")[数学模式] - - #chapter("basic/reference-bibliography.typ")[参考文献] - - #chapter("basic/reference-wasm-plugin.typ")[WASM插件] + = 参考 + - #chapter("tutorial/reference-typebase.typ")[基本类型] + - #chapter("tutorial/reference-type-builtin.typ")[内置类型] + - #chapter("tutorial/reference-date.typ")[时间类型] + // - #chapter("tutorial/reference-visualization.typ")[图形与几何元素] + // - #chapter("tutorial/reference-color.typ")[颜色、色彩渐变与模式] + - #chapter("tutorial/reference-data-process.typ")[数据读写] + - #chapter("tutorial/reference-data-process.typ")[数据处理] + - #chapter("tutorial/reference-calculation.typ")[数值计算] + - #chapter("tutorial/reference-math-mode.typ")[数学模式] + - #chapter("tutorial/reference-bibliography.typ")[参考文献] + - #chapter("tutorial/reference-wasm-plugin.typ")[WASM插件] // = 进阶教程 — 排版Ⅳ // 6. 脚本Ⅱ // - IO与数据处理 @@ -83,7 +83,7 @@ // - 长度单位 // 12. 参考Ⅱ // - 图形 - = 进阶教程 — 专题 + = 专题 - #chapter("topics/writing-math.typ")[编写一篇数学文档] // https://github.com/PgBiel/typst-oxifmt/blob/main/oxifmt.typ // - #chapter("topics/format-lib.typ")[制作一个格式化库] @@ -97,34 +97,34 @@ - #chapter("topics/template-cv.typ")[制作一个CV模板] // official template - #chapter("topics/template-paper.typ")[制作一个IEEE模板] - = 进阶教程 — 公式和定理 + = 专题 — 公式和定理 - #chapter("science/chemical.typ")[化学方程式] - #chapter("science/algorithm.typ")[伪算法] - #chapter("science/theorem.typ")[定理环境] - = 进阶教程 — 杂项 + = 专题 — 杂项 - #chapter("misc/font-setting.typ")[字体设置] // - #chapter("misc/font-style.typ")[伪粗体、伪斜体] - #chapter("misc/code-syntax.typ")[自定义代码高亮规则] - #chapter("misc/code-theme.typ")[自定义代码主题] - #chapter("misc/text-processing.typ")[读取外部文件和文本处理] - = 进阶教程 — 绘制图表 + = 专题 — 绘制图表 - #chapter("graph/table.typ")[制表] - #chapter("graph/solid-geometry.typ")[立体几何] - #chapter("graph/digraph.typ")[拓扑图] - #chapter("graph/statistics.typ")[统计图] - #chapter("graph/state-machine.typ")[状态机] - #chapter("graph/electronics.typ")[电路图] - = 进阶教程 — 附录Ⅱ - - #chapter("intermediate/reference-grammar.typ")[语法示例检索表Ⅱ] + = 专题 — 附录Ⅱ + - #chapter("tutorial/reference-grammar.typ")[语法示例检索表Ⅱ] - #chapter("template/slides.typ")[演示文稿(PPT)] - #chapter("template/paper.typ")[论文模板] - #chapter("template/book.typ")[书籍模板] - = 进阶参考 - - #chapter("intermediate/reference-counter-state.typ")[计数器和状态] - - #chapter("intermediate/reference-length.typ")[长度单位] - - #chapter("intermediate/reference-layout.typ")[布局函数] - - #chapter("intermediate/reference-table.typ")[表格] - - #chapter("intermediate/reference-outline.typ")[文档大纲] + = 专题参考 + - #chapter("tutorial/reference-counter-state.typ")[计数器和状态] + - #chapter("tutorial/reference-length.typ")[长度单位] + - #chapter("tutorial/reference-layout.typ")[布局函数] + - #chapter("tutorial/reference-table.typ")[表格] + - #chapter("tutorial/reference-outline.typ")[文档大纲] ], ) diff --git a/src/intermediate/other-file.typ b/src/intermediate/other-file.typ deleted file mode 100644 index adbb8e1..0000000 --- a/src/intermediate/other-file.typ +++ /dev/null @@ -1,4 +0,0 @@ - -一段文本 -#set text(fill: red) -另一段文本 diff --git a/src/intermediate/reference-grammar.typ b/src/intermediate/reference-grammar.typ deleted file mode 100644 index 8f78ae1..0000000 --- a/src/intermediate/reference-grammar.typ +++ /dev/null @@ -1,23 +0,0 @@ -#import "mod.typ": * - -#show: book.page.with(title: [参考:语法示例检索表Ⅱ]) - -#let table-lnk(name, ref, it, scope: (:), res: none, ..args) = ( - align(center + horizon, ref(name)), - it, - align( - horizon, - { - set heading(bookmarked: false, outlined: false) - eval(it.text, mode: "markup", scope: scope) - }, - ), -) - -#let ref-table(items) = table( - columns: (120pt, 6fr, 5fr), - align(center)[「名称/术语」], align(center)[语法], align(center)[渲染结果], - ..items.map(args => table-lnk(..args)).flatten() -) - -点击下面每行名称都可以跳转到对应章节的对应小节。 diff --git a/src/basic/IDE-autocomplete.png b/src/tutorial/IDE-autocomplete.png similarity index 100% rename from src/basic/IDE-autocomplete.png rename to src/tutorial/IDE-autocomplete.png diff --git a/src/intermediate/doc-modulize.typ b/src/tutorial/doc-modulize.typ similarity index 100% rename from src/intermediate/doc-modulize.typ rename to src/tutorial/doc-modulize.typ diff --git a/src/intermediate/doc-stateful.typ b/src/tutorial/doc-stateful.typ similarity index 99% rename from src/intermediate/doc-stateful.typ rename to src/tutorial/doc-stateful.typ index 7313043..4d25866 100644 --- a/src/intermediate/doc-stateful.typ +++ b/src/tutorial/doc-stateful.typ @@ -23,7 +23,7 @@ // The following figure shows how a state is arranged. First, Typst executes the document with scripting from S1 to S4, as #text(fill: red, "red lines") shown. Then, you can locate some content in the document (at the _start position_ of #text(fill: blue, "blue arcs")) and query the past state or future state (at the _end position_ of #text(fill: blue, "blue arcs")). -#import "./figure-time-travel.typ": figure-time-travel +#import "../tutorial/figure-time-travel.typ": figure-time-travel #align(center + horizon, figure-time-travel()) // This section mainly talks about `selector` and `state` step by step, to teach how to locate content, create and manipulate states. diff --git a/src/intermediate/figure-time-travel.typ b/src/tutorial/figure-time-travel.typ similarity index 100% rename from src/intermediate/figure-time-travel.typ rename to src/tutorial/figure-time-travel.typ diff --git a/src/basic/latex-look.typ b/src/tutorial/latex-look.typ similarity index 100% rename from src/basic/latex-look.typ rename to src/tutorial/latex-look.typ diff --git a/src/tutorial/mod.typ b/src/tutorial/mod.typ new file mode 100644 index 0000000..55a2168 --- /dev/null +++ b/src/tutorial/mod.typ @@ -0,0 +1,38 @@ +#import "/src/book.typ" +#import "/typ/templates/page.typ": is-web-target, main-color +#import "/typ/embedded-typst/lib.typ": default-cjk-fonts, default-fonts, svg-doc +#import "../mod.typ": ( + code as _code, exec-code as _exec-code, exercise, mark, pro-tip, ref-bookmark, ref-cons-signature, ref-func-signature, + ref-method-signature, refs, term, todo-box, todo-color, typst-func, +) + +#let eval-local(it, scope, res) = if res != none { + res +} else { + eval(it.text, mode: "markup", scope: scope) +} +#let exec-code(it, scope: (:), res: none, ..args) = _exec-code(it, res: eval-local(it, scope, res), ..args) +/// - it (content): the body of code. +#let code(it, scope: (:), res: none, ..args) = _code(it, res: eval-local(it, scope, res), ..args) + +#let frames(code, cjk-fonts: false, code-as: none, prelude: none) = { + if code-as != none { + code-as + } else { + code + } + + if prelude != none { + code-as = if code-as == none { + code + } + code = prelude.text + "\n" + code.text + } + + let fonts = if cjk-fonts { + (..default-cjk-fonts(), ..default-fonts()) + } + + grid(columns: (1fr, 1fr), ..svg-doc(code, fonts: fonts).pages.map(data => image(bytes(data))).map(rect)) +} +#let frames-cjk = frames.with(cjk-fonts: true) diff --git a/src/basic/other-file.typ b/src/tutorial/other-file.typ similarity index 100% rename from src/basic/other-file.typ rename to src/tutorial/other-file.typ diff --git a/src/intermediate/packages/m1.typ b/src/tutorial/packages/m1.typ similarity index 100% rename from src/intermediate/packages/m1.typ rename to src/tutorial/packages/m1.typ diff --git a/src/basic/reference-bibliography.typ b/src/tutorial/reference-bibliography.typ similarity index 100% rename from src/basic/reference-bibliography.typ rename to src/tutorial/reference-bibliography.typ diff --git a/src/basic/reference-calculation.typ b/src/tutorial/reference-calculation.typ similarity index 100% rename from src/basic/reference-calculation.typ rename to src/tutorial/reference-calculation.typ diff --git a/src/basic/reference-color.typ b/src/tutorial/reference-color.typ similarity index 100% rename from src/basic/reference-color.typ rename to src/tutorial/reference-color.typ diff --git a/src/intermediate/reference-counter-state.typ b/src/tutorial/reference-counter-state.typ similarity index 100% rename from src/intermediate/reference-counter-state.typ rename to src/tutorial/reference-counter-state.typ diff --git a/src/basic/reference-data-process.typ b/src/tutorial/reference-data-process.typ similarity index 100% rename from src/basic/reference-data-process.typ rename to src/tutorial/reference-data-process.typ diff --git a/src/basic/reference-date.typ b/src/tutorial/reference-date.typ similarity index 100% rename from src/basic/reference-date.typ rename to src/tutorial/reference-date.typ diff --git a/src/basic/reference-grammar.typ b/src/tutorial/reference-grammar.typ similarity index 100% rename from src/basic/reference-grammar.typ rename to src/tutorial/reference-grammar.typ diff --git a/src/intermediate/reference-layout.typ b/src/tutorial/reference-layout.typ similarity index 100% rename from src/intermediate/reference-layout.typ rename to src/tutorial/reference-layout.typ diff --git a/src/intermediate/reference-length.typ b/src/tutorial/reference-length.typ similarity index 100% rename from src/intermediate/reference-length.typ rename to src/tutorial/reference-length.typ diff --git a/src/basic/reference-math-mode.typ b/src/tutorial/reference-math-mode.typ similarity index 100% rename from src/basic/reference-math-mode.typ rename to src/tutorial/reference-math-mode.typ diff --git a/src/basic/reference-math-symbols.typ b/src/tutorial/reference-math-symbols.typ similarity index 100% rename from src/basic/reference-math-symbols.typ rename to src/tutorial/reference-math-symbols.typ diff --git a/src/intermediate/reference-outline.typ b/src/tutorial/reference-outline.typ similarity index 100% rename from src/intermediate/reference-outline.typ rename to src/tutorial/reference-outline.typ diff --git a/src/basic/reference-syntax-analysis.typ b/src/tutorial/reference-syntax-analysis.typ similarity index 100% rename from src/basic/reference-syntax-analysis.typ rename to src/tutorial/reference-syntax-analysis.typ diff --git a/src/intermediate/reference-table.typ b/src/tutorial/reference-table.typ similarity index 100% rename from src/intermediate/reference-table.typ rename to src/tutorial/reference-table.typ diff --git a/src/basic/reference-type-builtin.typ b/src/tutorial/reference-type-builtin.typ similarity index 100% rename from src/basic/reference-type-builtin.typ rename to src/tutorial/reference-type-builtin.typ diff --git a/src/basic/reference-typebase.typ b/src/tutorial/reference-typebase.typ similarity index 100% rename from src/basic/reference-typebase.typ rename to src/tutorial/reference-typebase.typ diff --git a/src/basic/reference-utils.typ b/src/tutorial/reference-utils.typ similarity index 100% rename from src/basic/reference-utils.typ rename to src/tutorial/reference-utils.typ diff --git a/src/basic/reference-visualization.typ b/src/tutorial/reference-visualization.typ similarity index 100% rename from src/basic/reference-visualization.typ rename to src/tutorial/reference-visualization.typ diff --git a/src/basic/reference-wasm-plugin.typ b/src/tutorial/reference-wasm-plugin.typ similarity index 100% rename from src/basic/reference-wasm-plugin.typ rename to src/tutorial/reference-wasm-plugin.typ diff --git a/src/basic/scripting-block-and-expression.typ b/src/tutorial/scripting-block-and-expression.typ similarity index 100% rename from src/basic/scripting-block-and-expression.typ rename to src/tutorial/scripting-block-and-expression.typ diff --git a/src/basic/scripting-color.typ b/src/tutorial/scripting-color.typ similarity index 100% rename from src/basic/scripting-color.typ rename to src/tutorial/scripting-color.typ diff --git a/src/basic/scripting-composite.typ b/src/tutorial/scripting-composite.typ similarity index 100% rename from src/basic/scripting-composite.typ rename to src/tutorial/scripting-composite.typ diff --git a/src/basic/scripting-content.typ b/src/tutorial/scripting-content.typ similarity index 100% rename from src/basic/scripting-content.typ rename to src/tutorial/scripting-content.typ diff --git a/src/basic/scripting-control-flow.typ b/src/tutorial/scripting-control-flow.typ similarity index 100% rename from src/basic/scripting-control-flow.typ rename to src/tutorial/scripting-control-flow.typ diff --git a/src/basic/scripting-layout.typ b/src/tutorial/scripting-layout.typ similarity index 100% rename from src/basic/scripting-layout.typ rename to src/tutorial/scripting-layout.typ diff --git a/src/basic/scripting-literal.typ b/src/tutorial/scripting-literal.typ similarity index 100% rename from src/basic/scripting-literal.typ rename to src/tutorial/scripting-literal.typ diff --git a/src/basic/scripting-main.typ b/src/tutorial/scripting-main.typ similarity index 100% rename from src/basic/scripting-main.typ rename to src/tutorial/scripting-main.typ diff --git a/src/basic/scripting-shape.typ b/src/tutorial/scripting-shape.typ similarity index 100% rename from src/basic/scripting-shape.typ rename to src/tutorial/scripting-shape.typ diff --git a/src/basic/scripting-style.typ b/src/tutorial/scripting-style.typ similarity index 100% rename from src/basic/scripting-style.typ rename to src/tutorial/scripting-style.typ diff --git a/src/basic/scripting-variable.typ b/src/tutorial/scripting-variable.typ similarity index 100% rename from src/basic/scripting-variable.typ rename to src/tutorial/scripting-variable.typ diff --git a/src/intermediate/stateful-v0.12.0/q0.typ b/src/tutorial/stateful-v0.12.0/q0.typ similarity index 100% rename from src/intermediate/stateful-v0.12.0/q0.typ rename to src/tutorial/stateful-v0.12.0/q0.typ diff --git a/src/intermediate/stateful-v0.12.0/q1.typ b/src/tutorial/stateful-v0.12.0/q1.typ similarity index 100% rename from src/intermediate/stateful-v0.12.0/q1.typ rename to src/tutorial/stateful-v0.12.0/q1.typ diff --git a/src/intermediate/stateful-v0.12.0/s1.typ b/src/tutorial/stateful-v0.12.0/s1.typ similarity index 100% rename from src/intermediate/stateful-v0.12.0/s1.typ rename to src/tutorial/stateful-v0.12.0/s1.typ diff --git a/src/intermediate/stateful-v0.12.0/s2.typ b/src/tutorial/stateful-v0.12.0/s2.typ similarity index 100% rename from src/intermediate/stateful-v0.12.0/s2.typ rename to src/tutorial/stateful-v0.12.0/s2.typ diff --git a/src/intermediate/stateful-v0.12.0/s3.typ b/src/tutorial/stateful-v0.12.0/s3.typ similarity index 100% rename from src/intermediate/stateful-v0.12.0/s3.typ rename to src/tutorial/stateful-v0.12.0/s3.typ diff --git a/src/intermediate/stateful/q0.typ b/src/tutorial/stateful/q0.typ similarity index 100% rename from src/intermediate/stateful/q0.typ rename to src/tutorial/stateful/q0.typ diff --git a/src/intermediate/stateful/q1.typ b/src/tutorial/stateful/q1.typ similarity index 100% rename from src/intermediate/stateful/q1.typ rename to src/tutorial/stateful/q1.typ diff --git a/src/intermediate/stateful/s1.typ b/src/tutorial/stateful/s1.typ similarity index 100% rename from src/intermediate/stateful/s1.typ rename to src/tutorial/stateful/s1.typ diff --git a/src/intermediate/stateful/s2.typ b/src/tutorial/stateful/s2.typ similarity index 100% rename from src/intermediate/stateful/s2.typ rename to src/tutorial/stateful/s2.typ diff --git a/src/intermediate/stateful/s3.typ b/src/tutorial/stateful/s3.typ similarity index 100% rename from src/intermediate/stateful/s3.typ rename to src/tutorial/stateful/s3.typ diff --git a/src/intermediate/systempropertiesadvanced.png b/src/tutorial/systempropertiesadvanced.png similarity index 100% rename from src/intermediate/systempropertiesadvanced.png rename to src/tutorial/systempropertiesadvanced.png diff --git a/src/intermediate/writing-chinese.typ b/src/tutorial/writing-chinese.typ similarity index 100% rename from src/intermediate/writing-chinese.typ rename to src/tutorial/writing-chinese.typ diff --git a/src/basic/writing-markup.typ b/src/tutorial/writing-markup.typ similarity index 100% rename from src/basic/writing-markup.typ rename to src/tutorial/writing-markup.typ diff --git a/src/intermediate/writing-math.typ b/src/tutorial/writing-math.typ similarity index 100% rename from src/intermediate/writing-math.typ rename to src/tutorial/writing-math.typ diff --git a/src/basic/writing-scripting.typ b/src/tutorial/writing-scripting.typ similarity index 100% rename from src/basic/writing-scripting.typ rename to src/tutorial/writing-scripting.typ diff --git a/src/intermediate/writing.typ b/src/tutorial/writing.typ similarity index 100% rename from src/intermediate/writing.typ rename to src/tutorial/writing.typ