Typst

Typst 是最近很火的一个试图取代 $\LaTeX$ 的写作引擎。

笔者经过一段时间的尝试后表示:十分推荐,但当下社区环境不佳

当下的学习成本还是很高的。

以下是笔者认为的推荐的理由:

  1. 编译很快很好用: typst watch example.typ 就可以自动检测文件更新,增量编译,速度很快
  2. 可自定义程度很高: 可以操作很基础的组件(例如space, box等) 进行相当细致的样式调整
  3. 有分支、循环语句,有函数有变量,可以编写脚本。这其实是一把双刃剑,coder肯定很喜欢,但是对于非专业人士 可能这就是冗余功能甚至会造成一些困扰。

但是 typst 还是有一些缺点的:

  1. 首要的缺点就是当下typst社区环境很差 拿LaTeX来比较,安装 texlive-full 以后, 导包\documentclass{ctexart} 就可以直接生产一篇 排版相当优美的论文。但是 typst 需要自行编写排版格式(或者去github上找)
  2. 没有官方中文文档,如果要深入学习了解则需要啃英文文档。
  3. 语法复杂。 引用tree-sitter-typst 作者的说法:

This language is soooo hard to parse… whitespace, parenthesizes for everything, and Unicode (笔者的翻译: 这个语言太tm难解析了……空格,全部都是括号,还有Unicode )

实践

笔者写了一个功能不算很健全的模板(包括了浙江工业大学课设的模板) 参考了 https://github.com/werifu/HUST-typst-template

笔者的模板repo: https://github.com/zjutjh/zjut-report-typst

目前的大概样子

以后笔者应该也会经常维护这个仓库。并不只是局限于课设模板。

一些想法

对于较为成熟的LaTeX数学引擎是否可以把它的语法抄过来? 毕竟很多人都熟悉了 LaTeX 的数学语法。