iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
佛心分享-我的私藏工具箱

Typst 與 CeTZ:對演算法與程式設計超友好的排版製圖工具 系列

本系列教學文章是為參加 2025 iThome 鐵人賽所撰寫,目標是帶領大家從零開始認識並活用 Typst 排版系統中的繪圖套件——CeTZ。如果你是一位工程師、學生,或是對數理排版與演算法視覺化有興趣的開發者,這份指南將會介紹如何利用 CeTZ 將抽象的演算法與離散結構圖像化,並整合進你的技術文章、簡報或論文中。即使你從未接觸過 Typst,也不用擔心,我會從基礎語法一步一步帶你上手,一起用最簡潔的語言畫出最精緻的圖。

上面這段是請 ChatGPT 幫我潤飾的。我只是想要分享好玩的 Typst 和 CeTZ 推薦給大家。

參賽天數 19 天 | 共 19 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11: CeTZ 套件

終於要進入正題啦~ 若我們需要繪製一些離散物件,那麼使用 Typst 的 CeTZ 套件非常方便。與 Tikz 相比,CeTZ 可以輕鬆地在裡面融入 Typst...

2025-08-25 ‧ 由 卡卡恩 分享
DAY 12

Day 12: 篩法與烏拉螺旋

除了之前介紹過的 Typst Table 以外,我們也可以使用 CeTZ 繪製表格。利用陣列的性質,我們得以在 Typst 裡面實作質數的篩法。由於表格是分開繪...

2025-08-26 ‧ 由 卡卡恩 分享
DAY 13

Day 13: 座標系統

CeTZ 也支援常見的笛卡爾座標系與極角座標系。 範例一:三維空間的笛卡爾座標 我們可以在三維空間中疊一些方塊。 繪製出來的結果如下: 除了直接使用 (x,...

2025-08-27 ‧ 由 卡卡恩 分享
DAY 14

Day 14: 八皇后問題

今天來練習看看經典遞迴習題:八皇后問題的繪製版本。由於 Typst 的函數必須是純函數 (除非使用 state),我們可以在傳入參數時順便告知目前在找的是第幾組...

2025-08-28 ‧ 由 卡卡恩 分享
DAY 15

Day 15: Suiji 偽隨機數產生器套件

來畫個簡易迷宮吧!產生迷宮的方式有好幾種,通常可以使用 DFS 繪製較為簡易,但是由於 state 的關係我們必須自己模擬遞迴。 在繪製迷宮之前,我們可以簡單介...

2025-08-29 ‧ 由 卡卡恩 分享
DAY 16

Day 16: 繪製簡易迷宮

今天終於可以來畫迷宮了!嗯...感覺畫出來有點 bug XD再試試看好了。 edit: 喔喔好像成功了。 程式碼大概長這樣: #canvas({...

2025-08-30 ‧ 由 卡卡恩 分享
DAY 17

Day 17: 六角形與內切圓

今天來畫一個我覺得很有趣的內接六角形與內切圓的嵌套組。 其中 n 可以改變層數、base-radius 可以控制圖案大小、最後 6deg 可以改成任何你想要的...

2025-08-31 ‧ 由 卡卡恩 分享
DAY 18

Day 18: 拼圖

今天依然是個好像沒有什麼時間的日子,只好把存底拿出來分享給大家。這張圖是之前偶然間發現的 A-Puzzle-A-Day 的酷炫小拼圖 (創始公司是 Dragon...

2025-09-01 ‧ 由 卡卡恩 分享
DAY 19

Day 19: 繪製函數圖

今天來繪製函數圖形。今年初 CeTZ 把函數圖形的繪製與原本的離散圖像繪製分開了,變成了 CeTZ-Plot,可以多繪製一些厲害的圖表。 畫出來長這樣: 也...

2025-09-02 ‧ 由 卡卡恩 分享