zball

Typesetter 文档

数学排版

公式语法取 Typst 一系:函数式、少反斜杠;字体是 AMS Euler 的开源承继 Euler Math,度量在构建期预编译进引擎,排版不需要任何运行时字体测量。

行内与显示

行内公式随文断行——在关系号与运算号处可以得体地分段,如 x1+x2+x3≤∑nk=1|xk|。独占一段、前后各空一行的 $ … $ 是显示公式,行尾挂 <标签> 即获得编号:

行内:勾股定理 $a^2 + b^2 = c^2$ 随文排布。

$ int_(-oo)^oo e^(-x^2) d x = sqrt(pi) $ <gauss>

引用它:如@gauss所示。

∞−∞e−x2dx=√π (1)

如式 (1)所示,编号渲染在右缘,引用为 式 (n)。

多行与对齐

连续的显示公式行(中间不空行)组成一个公式组,各行在 & 处对齐,带标签的行各自编号;单个显示公式内,行末的 \ 另起一行,整式只在末行编一个号:

$ (a+b)^2 &= a^2 + 2 a b + b^2 $ <sq-plus>
$ (a-b)^2 &= a^2 - 2 a b + b^2 $ <sq-minus>

(a+b)2=a2+2ab+b2 (2)

(a−b)2=a2−2ab+b2 (3)

公式里的 & 只表示对齐点;要排出 & 本身,写成带引号的 "&"。

常用构件

  • 上下标:x_1、e^(i pi) → eiπ+1=0
  • 分数与根式:(a+b)/2、sqrt(x) → x=−b±√b2−4ac2a
  • 求和积分极限:sum_(k=1)^n、lim_(n -> oo) → limn→∞1+1nn=e
  • 组合数与阶乘:binom(n, k) → nk=n!k!(n−k)!
  • 重音:hat(f)、vec(v)、bar(x) → fˆ、v⃗、x
  • 矩阵与分情形:mat(1, 2; 3, 4)、cases(…),行用 ; 分隔 → 1234、|x|=xifx≥0−xotherwise
  • 字母表与量词:bb(R)、cal(A)、frak(g)(NN ZZ QQ RR CC 仍可用)、forall exists → ∀ε>0,∃δ>0

大型定界符与根号按内容高度自适应拉伸;显示公式里 sum、int 的上下限置于上下方,行内则取侧标位置。