Typst tutorial
Typst介绍
Typst
是新的基于标记的科学排版语言其目标是作为LaTex
的替代,因为Typst
底层采用Rust
编写,所以在编译效率上比LaTex
高了非常多,基本上可以做到实时预览并且语法相当友好。
LaTex
由于其诞生于上世纪80s时间过早,并且经过几十年的发展技术包袱过重。笔者本科用LaTex
排版论文经常苦于语法晦涩,一旦环境嵌套过深代码几乎失去可读性,并且一旦插入图片过多以及加入bibtex
那么编译时间会极大拉长,只能将LaTex
分章节编译。
如果你也苦于LaTex
的以上问题,那么Typst
绝对值得尝试,Typst
于2023年开源开始release,Typst
社区非常活跃,笔者在2023年下半年开始使用,半年时间nvim
和vscode
的全套工具链就已经可用tinymist
,typstyle
,typst-preview
。
Typst 语法介绍
Typst
语法上相对LaTex
简洁很多,不需要像LaTex
那样进行\bengin
\end
环境嵌套。
Typst添加标题
|
|
Typst有序和无序列表
|
|
Typst插入图表与引用
|
|
Typst数学公式
Typst
数学公式语法并没有学习LaTex
而是添加了一些OOP的语法,并且简化了特殊符号的输入增强了公式的可读性。
|
|
上式就相当于LaTex
中的$Q=\rho A v + C$,如果是复杂一点的公式则可能会更清晰一点比较两者之间的区别。
|
|
|
|
$$ 7.32 \beta + \sum_{i=0}^{\nabla} \frac{Q_i (a_i - \epsilon)}{2} $$
如果是一些特殊符号Typst
则添加了一些OOP的元素比如
|
|
LaTex用户快速上手对照表
typst
官方也贴心的为LaTex
用户提供了快速的语法对照表可以查看
Element | LaTeX | Typst | See |
---|---|---|---|
Strong emphasis | \textbf{strong} |
*strong* |
strong |
Emphasis | \emph{emphasis} |
_emphasis_ |
emph |
Monospace / code | \texttt{print(1)} |
`print(1)` |
raw |
Link | \url{https://typst.app} |
https://typst.app/ |
link |
Label | \label{intro} |
<intro> |
label |
Reference | \ref{intro} |
@intro |
ref |
Citation | \cite{humphrey97} |
@humphrey97 |
cite |
Bullet list | itemize environment |
- List |
list |
Numbered list | enumerate environment |
+ List |
enum |
Term list | description environment |
/ Term: List |
terms |
Figure | figure environment |
figure function |
figure |
Table | table environment |
table function |
table |
Equation | $x$, align / equation environments |
$x$, $ x = y $` |
equation |
Typst制作Slides
Typst
目前制作Slides
的体验比LaTex
制作Beamer
好了很多,我们以tongji-slides-typst
为例简单展示一下Typst
的Slides
。
|
|
这里是通过模板封装好了#matrix-slide
只需要通过import
调用调用即可。如果是设置封面则只需要调用封装好的函数修改其暴露的接口即可。
|
|
Typst
的制作Slides
的体验与代码可读性比LaTex
的环境嵌套要好很多。如果要使用这里推荐touying这是国人编写的一个Slides
包体验相对较好。
Typst当前发展
Typst
目前已经开放了Universe
提供了各种模板可选,在Typst
社区活跃度较高国人也相对较多,已经有很多优秀的package
是国人编写的。国内高校也有了一些优秀的开源模板项目,比如同济的tongji-undergrad-thesis-typst
。
package
这里推荐miTex
,如果你实在不习惯用Typst
的公式语法第三方也提供了使用LaTex
的公式接口。
同时Typst
也支持cetz
绘制矢量图。
总之Typst
社区还在快速发展中,作为LaTex
的老用户笔者也同时希望在Typst
的竞争下能够更好。