链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

Typst:强大且易学习的标记型排版系统

Typst是一种新的基于标记的排版系统。它旨在像LaTeX一样强大的同时更易于学习和使用。具有内置标记、灵活功能、脚本系统、数学排版、文献管理等特性,还有快速编译时间和友好错误提示。仓库包含编译器和CLI,也可使用免费在线协同编辑器。有丰富的功能示例,如斐波那契数列相关操作展示了...

访问官网 →

Typst:一种强大且易于学习的标记型排版系统

一、项目简介

Typst是一种新的基于标记的排版系统。它的设计目标是像LaTeX一样强大,同时又更易于学习和使用。它具有内置的用于常见格式化任务的标记,灵活的功能可应对其他需求,紧密集成的脚本系统,支持数学排版、文献管理等,并且由于增量编译而有快速的编译时间,在出错时还有友好的错误提示。该仓库包含Typst编译器及其CLI,这是本地编译Typst文档所需的一切。用户也可注册使用其免费的在线协同编辑器来获得更好的写作体验。

二、核心技术

  1. 标记系统:具有内置的标记用于常见格式化任务,如通过“=”进行标题设置(一个等号创建顶级标题,两个等号创建子标题等),数学公式用美元符号包围等。
  2. 脚本系统:有紧密集成的脚本系统,可以定义变量和函数,例如在示例中定义计算斐波那契数列的变量和递归函数。
  3. 增量编译:这一特性使得Typst具有较快的编译速度,并且在监控源文件变化自动重新编译时比从头编译更快。

三、实践案例

在文档中有一个斐波那契数列的示例。通过设置页面规则(如#set page(width: 10cm, height: auto)),插入标题(如= Fibonacci sequence),编写数学公式(如$F_n = F_{(n-1)}+F_{(n-2)}$),定义变量(如#let count = 8)和函数(如#let fib(n)=(if n <= 2 {1} else {fib(n-1)+fib(n-2)})),以及创建表格(如#align(center, table(columns: count,..nums.map(n => $F_#n$),..nums.map(n => str(fib(n))),)))来展示Typst的功能。

四、项目总结

Typst是一个功能强大且易于学习的排版系统,它在很多方面有着独特的设计和优势。无论是对于普通用户还是开发者,都有一定的使用价值。欢迎大家在评论区留言分享自己对Typst的看法或者使用中的经验等。

项目地址

GitHub链接直达