CeTZ绘图库终极教程:从零开始掌握科学绘图
【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz
CeTZ(CeTZ, ein Typst Zeichenpaket)是一个专为Typst设计的绘图库,它借鉴了TikZ和Processing的设计理念,为科学绘图和学术可视化提供了强大而灵活的工具。无论你是需要绘制化学结构、数学图表,还是创建复杂的科学可视化,CeTZ都能帮助你轻松实现。
快速开始:你的第一个CeTZ绘图
想要立即开始使用CeTZ?只需要几行代码就能创建你的第一个绘图。首先在Typst文件中导入CeTZ库:
#import "@preview/cetz:0.4.2" #cetz.canvas({ import cetz.draw: * // 在这里添加你的绘图代码 })这个简单的模板为你提供了完整的绘图环境。cetz.canvas函数负责处理所有的绘图逻辑和渲染过程,而import cetz.draw: *语句则引入了所有可用的绘图函数。
核心概念:理解坐标系统
CeTZ提供了多种坐标系统来满足不同的绘图需求。掌握这些坐标系统是成为CeTZ高手的关键一步。
笛卡尔坐标系统
最基础的坐标系统,使用(x, y)格式指定位置:
circle((0, 0)) // 在原点绘制圆形 line((0, 0), (2, 1)) // 从原点到(2,1)绘制直线极坐标系统
当需要围绕中心点绘制图案时,极坐标系统非常有用:
line((0, 0), (angle: 30deg, radius: 1))相对坐标系统
相对坐标让你能够基于前一个点的位置来定位新点,这在创建连续图案时特别方便:
circle((0, 0), stroke: blue) circle((rel: (1, 0)), stroke: red) // 红色圆形位于蓝色圆形右侧1单位实战示例:创建树状结构图
让我们通过一个具体的例子来展示CeTZ的强大功能。树状结构在计算机科学和数学中非常常见,CeTZ能够轻松创建这样的可视化:
树状结构图的代码实现:
#cetz.canvas({ import cetz.draw: * // 绘制根节点 circle((0, 0), name: "root", radius: 0.2, fill: black) // 绘制子节点 circle((1, 1), name: "child1", radius: 0.2, fill: black) line("root", "child1") // 继续添加更多节点... })高级功能:掌握图形变换
CeTZ提供了丰富的变换功能,包括旋转、缩放、平移等。这些变换让你能够创建动态和复杂的视觉效果:
// 旋转示例 group({ rotate(30deg) circle((0, 0), radius: 0.5) })安装与配置
要在本地安装CeTZ包,你可以使用项目提供的安装脚本:
just install安装完成后,你可以通过添加@local前缀来导入本地版本:
#import "@local/cetz:0.4.2"实用技巧与最佳实践
1. 合理使用命名元素
为重要的图形元素命名,可以让你在后续的绘图中轻松引用它们的位置:
circle((0,0), name: "circle") content((name: "circle", anchor: 30deg), "30度位置")2. 利用分组功能组织复杂图形
当创建复杂的多部分图形时,使用分组功能来保持代码的整洁:
group(name: "main", { circle((), name: "subcircle") })3. 样式继承与复用
CeTZ支持样式继承,这意味着你可以定义一组样式规则,然后在整个绘图中复用它们。
项目生态与扩展
CeTZ拥有丰富的生态系统,包括多个专门用途的扩展库:
- cetz-plot:专门用于绘制图表和数据可视化
- cetz-venn:用于创建简单的二集或三集维恩图
- 以及专门用于绘制有限自动机、交换图、序列图等的各种扩展
测试你的绘图技能
CeTZ项目包含大量的单元测试,这些测试不仅确保了库的稳定性,也为学习提供了绝佳的参考。你可以通过运行测试来验证你的理解:
just test结语
CeTZ为Typst用户提供了一个功能强大且易于使用的绘图解决方案。无论你是需要创建学术论文中的图表,还是想要制作复杂的科学可视化,CeTZ都能满足你的需求。通过本教程的学习,你应该已经掌握了CeTZ的核心概念和基本用法。
现在就开始你的CeTZ绘图之旅吧!你会发现,创建专业的科学图表从未如此简单。
【免费下载链接】cetzCeTZ: ein Typst Zeichenpaket - A library for drawing stuff with Typst.项目地址: https://gitcode.com/gh_mirrors/ce/cetz
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考