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的竞争下能够更好。