开源项目 cirCeTZ 使用教程
项目介绍
cirCeTZ 是一个将 circuitikz 移植到 Typst 的项目,使用 typst-canvas 实现。该项目旨在为 Typst 用户提供绘制电路图的功能。由于 circuitikz 的特性众多,项目将根据需要逐步移植这些功能。用户可以通过创建 issue、提交 PR 或在 Typst 的 Discord 社区联系项目维护者。
项目快速启动
安装
由于 Typst 目前缺乏包管理功能,库期望被放置在与项目文件相同的文件夹中。首先,克隆或下载项目仓库:
git clone https://github.com/fenjalien/circuitypst.git
使用示例
以下是一个简单的使用模板:
#import "typst-canvas/canvas.typ": canvas
#import "circuitypst/circuitypst.typ": node, to
#canvas(length: 1cm, debug: false, [
node(position: (0, 0), label: "Node 1"),
to(position: (1cm, 1cm), label: "Node 2")
])
应用案例和最佳实践
案例一:基本电路图
使用 cirCeTZ 可以轻松绘制基本的电路图。以下是一个包含电源、电阻和电容的简单电路图示例:
#import "typst-canvas/canvas.typ": canvas
#import "circuitypst/circuitypst.typ": node, to, resistor, capacitor
#canvas(length: 1cm, debug: false, [
node(position: (0, 0), label: "Vcc"),
to(position: (1cm, 0), label: "R1"),
resistor(position: (1cm, 0), label: "1kΩ"),
to(position: (2cm, 0), label: "C1"),
capacitor(position: (2cm, 0), label: "10uF"),
to(position: (3cm, 0), label: "GND")
])
最佳实践
- 模块化设计:将复杂的电路图分解为多个模块,每个模块单独绘制,便于管理和维护。
- 注释和标签:为每个组件添加清晰的标签和注释,提高图表的可读性。
典型生态项目
typst-canvas
typst-canvas 是 cirCeTZ 依赖的核心库,提供了绘图功能的基础支持。
typst-lsp
typst-lsp 是一个为 Typst 设计的语言服务器,提供了代码补全、语法检查等功能,提升开发效率。
typst-preview-vscode
typst-preview-vscode 是一个 VSCode 插件,可以即时预览 Typst 文件,方便调试和查看效果。
通过这些生态项目的配合,可以大大提升 Typst 的开发体验和效率。