#00012026-10-06Justin
為什麼你應該使用 Typst 取代 LaTeX
比較 Typst 與 LaTeX 的編譯速度、語法與編譯環境,以及 Typst 現階段的不足。
LaTeX 作為過去幾十年最多人使用的排版語言,在學術界有無法撼動的地位,尤其是在數學、工程、物理等領域。 但用過的人都知道,LaTeX 非常難用,以下舉幾個例子:
- 編譯時間很長
- 錯誤訊息完全沒用(甚至有 error 還可以編譯?)
- 大量反斜線,可讀性低,語法也和一般程式語言差異很大
- 文件混亂,自己寫模板幾乎不可能
- 編譯環境很臃腫
即使現在有像 Overleaf 這樣的線上環境,也還是沒辦法改善這些問題(Overleaf 的進階功能甚至還要付費)。 而 Typst 的目的就是要解決這些問題。
Typst 是以 Rust 編寫的開源排版系統,設計初衷就是做出比 LaTeX 更強大、更容易上手的工具。
Typst vs. LaTeX
編譯速度:Typst 的編譯速度遠勝 LaTeX。LaTeX 需要幾秒才能編譯完的文件,用 Typst 重寫後通常不到一秒,增量編譯更只要幾毫秒。
語法:Typst 的語法整體來說與 Markdown 非常相似,上手難度很低,可以參考以下範例:
LaTeX
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\begin{document}
\section{Introduction}
This is \textbf{bold} and \emph{italic}.
\begin{itemize}
\item First
\item Second
\end{itemize}
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
\end{document}Typst
#set page(margin: 2cm)
= Introduction
This is *bold* and _italic_.
- First
- Second
$ x = (-b plus.minus sqrt(b^2 - 4a c)) / (2a) $相較之下,Typst 的寫法明顯更爲簡潔。
編譯環境:LaTeX 經過多年發展,衍生出許多不同的編譯引擎(如 pdfLaTeX、XeLaTeX、LuaLaTeX),彼此並不完全相容。 編譯時也常遇到缺少套件的問題,環境設定複雜。Typst 則有官方維護的編譯器與套件庫,錯誤訊息也很清楚,編譯體驗好很多。
Typst 現階段的缺點
- 有些期刊要求用 LaTeX 寫,沒辦法用 Typst(不過其實可以用 AI 轉換)
- 如果合作者不會用 Typst,通常只能改用 LaTeX
- Typst 尚未發布 1.0,部分功能還不太穩定,版本之間也可能有破壞性變更
- 雖然官方有線上共編的網站,但還是不如 Overleaf 方便(不過我覺得共編本來就該用 Git/GitHub)
結論
我用 Typst 大概兩年多了,我的作業、簡報都是用 Typst 寫的。體驗很好,能做到想到什麼打什麼,而不用頻繁地查指令。 我覺得 Typst 在未來有機會取代 LaTeX,成為主流的排版語言。 順帶一提,這個網站也是用 Typst(透過 Tola)寫成的。