跳去內容

Typst

出自維基百科,自由嘅百科全書
Typst
Typst 嘅標誌
Typst網上編輯器嘅螢幕截圖
原作者Martin Haug、Laurenz Mädje[1]
開發者Typst GmbH
初始版本2023年3月21號,2年之前 (2023-03-21)
最新發布
  • 0.13.1(2025年3月7號; 穩定版本)[2]
改維基數據
程式語言Rust
平台跨平臺中文跨平臺
軟件類別排版
許可協議Apache-2.0中文Apache特許條款 [3]
網站typst.app
github.com/typst/typst

Typst/taɪpst/[註 1])係一個基於標記語言開源排版系統,專為撰寫同排版學術文章數學公式而設​​只係加啲簡單嘅標記就做到一般嘅格式化,又可以自訂函數,又內建手稿語言scripting language)同數學排版功能。

Typst 嘅主體係一個用 Rust 寫,以Apache特許條款中文Apache許可證2.0發佈[3]離線排版程式(設計者叫佢做編譯器);由一間同名嘅有限公司(Typst GmbH)負責維護、開發以及技術支援[4]。呢間公司亦營運一個類似 Overleaf中文Overleaf協作式中文群組軟體網上編輯器[5],俾用戶一邊寫,一邊預覽成果,亦支援多人協同合作功能[6];但係網上編輯器並唔係好似主體咁係開源軟件,而係專有軟件中文專有軟件[7],不過除咗提供收費服務之外,亦提供免費服務[8]

歷史

[編輯]

2019年,Laurenz Mädje 同 Martin Haug 開始開發 Typst[1],並喺2022年作為佢哋喺柏林工業大學中文柏林工業大學嘅碩士論文題目發表[9][10]。2023年3月,Typst 以開源軟件嘅形式發佈,目前處於Beta測試階段[11]

排版系統

[編輯]

Typst 係一種標記語言,類似 Markdown中文Markdown,佢設計目標係要「好似 LaTeX 咁強大,但更加容易學習同使用」[12]。效能方面,Typst 編譯速度遠勝 LaTeX,一般只需幾毫秒,而唔係好似 LaTeX 咁需要好幾秒[13]。佢嘅編譯器利用約束性記憶化中文記憶化constrained memoization)實現增量編譯中文增量編譯器,每次只需要重新編譯更改咗嘅代碼,節省時間[14]

LaTeX 唔同,Typst 系統內置咗好多功能,所以唔需要引入大量外部套件。如有需要,Typst 亦支援由社群提供嘅套件同模板,例如 Typst Universe 係一個類似 CTAN中文CTAN 嘅資料庫,用嚟分享用戶自製嘅套件[15]

Typst 有三種模式:預設係標記模式(markup mode),用嚟編寫文字;用$符號包住嘅代碼係數學模式(math mode),用嚟輸入數學公式;代碼模式(code mode)用嚟執行子程式function),用法係喺代碼插入#同埋子程式嘅名[16]

兼容性同轉換器

[編輯]

用家可以用自己電腦嘅文字編輯器寫 Typst 文件,再用編譯器輸出想要嘅格式;或者喺 Typst GmbH 提供嘅線上編輯器嗰度做[5]。Typst 支持輸出做 PDF(包括 PDF/A-2b中文PDF/A[17])、PNGSVG 等格式。

如果係喺自己電腦寫,用家亦可以用一個叫 「微靄」(Tinymist)嘅語言伺服器中文語言伺服器協定language server),以外掛形式加落例如 VS Code中文Visual Studio CodeNeovim中文Vim#Neovim 等兼容嘅文字編輯器,咁之後就可以直接喺編輯器用 Typst 預覽、編譯等嘅功能[18]。另外亦都有其他軟件唔用語言伺服器,而係整合咗 Typst 嘅功能,呢啲包括 Quarto英文Quarto (software)[19]Pandoc中文Pandoc[20]

印度證券行 Zerodha英文Zerodha 由原本 LuaLaTeX中文LuaTeX 改用 Typst 嚟產生交易紀錄,係因為Typst 易用、編譯得快同埋編譯器嘅嘥士[21]

例子

[編輯]

下面嘅例子示範 Typst 檔案同編譯器嘅輸出:

Input (Source code) Output
#set page(paper: "a4")
#set text(lang: "de")
#set par(justify: true)

= Fibonacci-Folge

Die Fibonacci-Folge ist die unendliche Folge natürlicher Zahlen, die mit zweimal der Zahl 1 beginnt und bei der jede weitere Zahl die Summe der beiden ihr vorangehenden Zahlen ist. @wikipedia

// Comments are introduced by a double backslash
$ F_n = floor(1 / sqrt(5) phi.alt^n), quad
  phi.alt = (1 + sqrt(5)) / 2 $

#let count = 14
#let nums = range(1, count + 1)
#let fib(n) = (
  if n <= 2 { 1 }
  else { fib(n - 1) + fib(n - 2) }
)

Die ersten #count Zahlen der Folge sind:

#align(center, table(
  columns: count,
  ..nums.map(n => $F_#n$),
  ..nums.map(n => str(fib(n))),
))

_Das Beispiel wurde von der Webseite GNU/Linux.ch übernommen._ @gnulinux

#bibliography("quellen.bib")
Beispiel eines Typst-Dokuments

參考

[編輯]
  1. 1.0 1.1 Typst: About us
  2. "Release Version 0.13.1 (March 7, 2025)". 2025年3月7號. 喺2025年5月4號搵到.
  3. 3.0 3.1 "typst/LICENSE at main · typst/typst". GitHub (英文). 喺2024-12-13搵到.
  4. "Typst: Legal information". Typst (英文). 喺2024-12-02搵到.
  5. 5.0 5.1 "Typst: Compose papers faster". Typst (英文). 喺2024-12-02搵到.
  6. "Typst – Ein Next-Gen-Textsatzsystem?" Typst:新一代排字系統? (德文). Teuderun. 2024-10-13. 喺2025-06-21搵到.
  7. "typst/webapp-issues: Issue tracker for Typst's web app". 喺2025-06-21搵到.
  8. "Typst: Pricing". 喺2025-06-21搵到.
  9. Haug, Martin (June 2022). Fast Typesetting with Incremental Compilation (論文). doi:10.13140/RG.2.2.15606.88642.
  10. Mädje, Laurenz. Typst A Programmable Markup Language for Typesetting (PDF) (論文). 原著 (PDF)喺2023-01-16歸檔. 喺2024-04-27搵到.
  11. "Typst starts its public beta test and goes open source" (英文). 2023-03-21. 喺2025-06-21搵到.
  12. Lisse, Eberhard W. (2023-07-14). "Introduction to Typst". TUGboat (英文). 44 (2): 315–316. doi:10.47397/tb/44-2/tb137abstracts. ISSN 0896-3207.
  13. Pardue, David (November 2024). "Exploring Typst: A LaTeX Alternative". The PCLinuxOS Magazine (214): 8.
  14. typst/comemo, Typst, 2024-11-28, 喺2024-12-02搵到
  15. "Typst Universe". 喺2025-06-21搵到.
  16. Hersel, Ralf (2023-03-22). "Typst ist einfacher als LaTeX" Typst 易過 LaTeX (德文). 喺2025-06-21搵到.
  17. "Release Version 0.12.0 (October 18, 2024) · typst/typst". GitHub (英文). 喺2024-12-02搵到.
  18. Myriad-Dreamin (2024-12-09), Myriad-Dreamin/tinymist, 喺2024-12-09搵到
  19. Wickham, Charlotte (2024-01-24). "Quarto 1.4". Quarto (英文). 喺2024-12-02搵到.
  20. MacFarlane, John (2023-03-23). "Release pandoc 3.1.2 · jgm/pandoc". GitHub (英文). 喺2024-12-02搵到.
  21. Chandra, Sarat; Sharma, Karan (2024-02-14). "1.5+ million PDFs in 25 minutes". Zerodha Tech Blog. 喺2024-12-02搵到.

[編輯]
  1. 讀音見:Typst: eine moderne Alternative zu TeX? Typst:TeX 以外嘅另一現代化選擇? (德文). 2025年3月22號. 時間 2:43. 喺2025年6月22號搵到.

睇埋

[編輯]

出面網頁

[編輯]