本系列教學文章是為參加 2025 iThome 鐵人賽所撰寫,目標是帶領大家從零開始認識並活用 Typst 排版系統中的繪圖套件——CeTZ。如果你是一位工程師、學生,或是對數理排版與演算法視覺化有興趣的開發者,這份指南將會介紹如何利用 CeTZ 將抽象的演算法與離散結構圖像化,並整合進你的技術文章、簡報或論文中。即使你從未接觸過 Typst,也不用擔心,我會從基礎語法一步一步帶你上手,一起用最簡潔的語言畫出最精緻的圖。
上面這段是請 ChatGPT 幫我潤飾的。我只是想要分享好玩的 Typst 和 CeTZ 推薦給大家。
終於要進入正題啦~ 若我們需要繪製一些離散物件,那麼使用 Typst 的 CeTZ 套件非常方便。與 Tikz 相比,CeTZ 可以輕鬆地在裡面融入 Typst...
除了之前介紹過的 Typst Table 以外,我們也可以使用 CeTZ 繪製表格。利用陣列的性質,我們得以在 Typst 裡面實作質數的篩法。由於表格是分開繪...
CeTZ 也支援常見的笛卡爾座標系與極角座標系。 範例一:三維空間的笛卡爾座標 我們可以在三維空間中疊一些方塊。 繪製出來的結果如下: 除了直接使用 (x,...
今天來練習看看經典遞迴習題:八皇后問題的繪製版本。由於 Typst 的函數必須是純函數 (除非使用 state),我們可以在傳入參數時順便告知目前在找的是第幾組...
來畫個簡易迷宮吧!產生迷宮的方式有好幾種,通常可以使用 DFS 繪製較為簡易,但是由於 state 的關係我們必須自己模擬遞迴。 在繪製迷宮之前,我們可以簡單介...
今天終於可以來畫迷宮了!嗯...感覺畫出來有點 bug XD再試試看好了。 edit: 喔喔好像成功了。 程式碼大概長這樣: #canvas({...
今天來畫一個我覺得很有趣的內接六角形與內切圓的嵌套組。 其中 n 可以改變層數、base-radius 可以控制圖案大小、最後 6deg 可以改成任何你想要的...
今天依然是個好像沒有什麼時間的日子,只好把存底拿出來分享給大家。這張圖是之前偶然間發現的 A-Puzzle-A-Day 的酷炫小拼圖 (創始公司是 Dragon...
今天來繪製函數圖形。今年初 CeTZ 把函數圖形的繪製與原本的離散圖像繪製分開了,變成了 CeTZ-Plot,可以多繪製一些厲害的圖表。 畫出來長這樣: 也...