概述
6月10日實驗了一個縱向時間軸排版效果,當時沒有做成單獨的模塊,也存在一些Bug。
今天(6月29日)在原基礎上進行了一些改進,并總結為模塊。
目前暫時發布出來,可用,后續可能會進行大改。
使用案例
- 導入模塊
- 使用
time_line_page()
創建時間軸頁面 - 在時間軸頁面內用
time_node()
創建時間節點,包括日期、標題和內容三部分
#import "TimeLine.typ":* // 導入模塊// 創建時間軸頁面
#time_line_page[
#time_node[2005-06-29][整理幾何圖形繪制][今天花時間對一些內容進行了整理,包括幾何圖形繪制函數。增加了很多像下面這樣的表格。#image("image-2.png")]#time_node[2005-06-29][TimeLine改進][- 將TimeLine設計為了單獨的模塊- 改進換頁的Bug- 實現頁面函數,改進默認風格]
]
效果:
模塊代碼
/*
* 名稱:TimeLine
* 描述:用于創建豎向時間軸的自定義模塊
* 作者:巽星石
* 創建時間:2025年6月10日
* 最后修改:2025年6月29日
*/ // 頁面函數
#let time_line_page = page.with(background: [#place(top,dx:5cm,dy:2.5cm)[#line(start:(0cm,0cm),angle: 90deg,length: 100% - 5cm,stroke: (dash: "dashed",paint: gray))]]
)// 縱向時間軸的時間節點
#let time_node(date,title,ctn) = [#table(columns: 3,stroke: none,inset: 0pt)[#block(width: 2cm,clip: true,inset: 5pt,fill: luma(220))[#date]][#block(width: 1cm,inset: 5pt)[#align(center+horizon)[#place(dy:4pt)[ #line(start: (-5pt,0pt), length: 100%+10pt,stroke: luma(200))]#circle(radius: 4pt,fill:gray.darken(50%))]]][// 內容#block(width: 100%,fill: luma(87.84%),radius: 2pt,inset: 10pt)[#(if title!="" [#block[#text(size: 16pt)[#title]]])#ctn]]
]