# typst-note-template **Repository Path**: valeesse/typst-note-template ## Basic Information - **Project Name**: typst-note-template - **Description**: 使用typst创建的笔记模板项目 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-25 - **Last Updated**: 2026-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: typst ## README # Typst 笔记模板 这是一个基于 [Typst](https://typst.app) 的笔记模板,旨在提供一个结构清晰、样式优美、易于扩展的笔记编写环境。本项目最初用于整理公务员考试的核心笔记,但其模块化的设计使其能够轻松适应不同学科和主题的笔记整理需求。 ## 主要特性 - **模块化管理**:将笔记内容(`content/`)、样式模板(`template.typ`)和功能模块(`utils/`)分离,使项目结构更清晰。 - **自动化目录与页码**:自动生成多级目录,并根据卷(一级标题)自动生成 `卷标:页码` 格式的页脚。 - **丰富的笔记环境**:预设了“定义”、“定理”、“引理”、“例”、“问题”、“结论”等十余种环境,支持独立的颜色、编号和样式。 - **按章自动编号**:所有环境(如定义、定理等)的编号与章节(三级标题)挂钩,在新的章节中会自动重置。 - **高度可定制**: - 颜色、字体、边距等基础样式均可轻松修改。 - 可在 `utils/thm_def.typ` 中方便地新增或修改笔记环境。 - **中文字体支持**:默认配置了 `zh-kit` 并设置了霞鹜文楷作为优先中文字体。 ## 文件结构 ``` . ├── content/ # 存放各卷的笔记 .typ 文件 │ ├── 01-shenlun.typ │ └── ... ├── resources/ # 存放图片、字体等静态资源 ├── utils/ # 存放模板的功能模块 │ ├── color_def.typ # 颜色定义 │ ├── thm_def.typ # 笔记环境定义 │ └── thm_env.typ # 笔记环境生成逻辑 ├── .gitignore # Git 忽略文件配置 ├── LICENSE # 项目许可证 ├── main.typ # 主入口文件,用于整合文档和设置封面 ├── template.typ # 核心样式模板文件 └── README.md # 你正在阅读的文件 ``` ## 如何使用 1. **安装推荐字体(可选)**: 1. [LXGW WenKai / 霞鹜文楷](https://github.com/lxgw/LxgwWenKai) 2. [Source Han Serif SC / 思源宋体](https://github.com/adobe-fonts/source-han-serif) 3. [Source Han Sans SC / 思源黑体](https://github.com/adobe-fonts/source-han-sans) 2. clone项目到本地 ```bash git clone https://gitee.com/wencsm/note-template-by-typst.git ``` 3. **添加笔记内容**: - 在 `content/` 目录下创建新的 `.typ` 文件,例如 `06-new-chapter.typ`。 - 在新文件中使用 Typst 语法编写你的笔记。你可以使用预设的各种环境,例如: ```typst = 新的一卷 == 章标题 === 节标题 #definition[这是一个定义。] #theorem("勾股定理")[ 在任何一个直角三角形中,两条直角边的平方和等于斜边的平方。 $a^2 + b^2 = c^2$ ] #example[这是一个例子。] ``` 4. **使用笔记环境** 模板预设了 `definition`, `theorem`, `example` 等多种环境。 - **基本用法**: ```typst #definition[这是一个定义。] ``` - **带标题的用法**: ```typst #theorem("勾股定理")[ $a^2 + b^2 = c^2$ ] ``` - **环境的引用**: 可以通过添加l:标签(label)参数来引用thm环境。 ```typst // 首先,在环境后面加上 <标签名> #theorem("勾股定理", l:)[ $a^2 + b^2 = c^2$ ] // 然后,在文中的任何地方使用 @标签名 来引用它 根据 #ref-thm(),我们可以得出结论... ``` Typst 会自动将 `#ref-thm()` 替换为“定理 X.X.X”这样的引用链接。 5. **引入新文件**: - 打开 `main.typ` 文件。 - 在正文区域,使用 `#include` 指令引入你新创建的笔记文件。 ```typst // ... #style[ // ... #include "content/05-ziliao.typ" #pagebreak() // 可选,在章节间强制分页 #include "content/06-new-chapter.typ" // 引入新文件 ] ``` 6. **编译文档**: - 在项目根目录下运行以下命令,即可生成 `main.pdf` 文件。 ```bash typst compile main.typ ``` - 你也可以使用 `typst watch` 命令在文件保存时自动重新编译: ```bash typst watch main.typ ``` ## 定制化 - **修改颜色**:在 `utils/color_def.typ` 文件中修改或添加新的颜色。 - **修改环境**:在 `utils/thm_def.typ` 文件中修改 `env_map`。你可以更改环境的名称(`name`)、颜色(`color`)、是否编号(`numbered`)等属性。 - **修改页面样式**:在 `template.typ` 文件中的 `style` 函数里,你可以修改 `set page()` 的参数来调整页边距、页眉页脚等。 - **修改标题样式**:在 `template.typ` 文件中的 `show heading` 规则里,你可以修改各级标题的字体、大小、间距等。 ## 许可证 本项目采用 [Apache-2.0 license](./LICENSE) 许可证。