提示:本教程存在过时问题,更详细教程请阅读 小蓝书Typst 中文社区导航 FAQ
注意:该中文文档为社区驱动的非官网文档,可能存在错译、漏译或过时等问题,请以官网文档 Documentation 为准,如发现错漏,也欢迎 您的贡献镜像)。Typst 非官方中文交流 QQ 群:793548390
Warning: the Chinese document is a community-driven non-official document, there may be mistranslation, omission or outdated problems, please refer to the official website documentation.
Typst 中文文档

math

Typst 具有特殊的 数学 语法和库函数,用于排版数学公式。 数学公式可以嵌入文本中显示,也可以作为单独的块状公式显示。 如果数学公式的起始和结束都至少包含一个空格(例如 $ x^2 $),它们将被显示为块状公式。

变量

在数学中,单个字母始终按原样显示。 然而,多个字母会被解释为变量和函数。 要逐字显示多个字母,可以将它们放入引号中,并且要访问单个字母变量,可以使用 哈希标签语法

$ A = pi r^2 $
$ "area" = pi dot "radius"^2 $
$ cal(A) :=
    { x in RR | x "is natural" } $
#let x = 5
$ #x < 17 $
Preview

符号

数学模式提供多种 符号,如 pidotRR。 许多数学符号有不同的变体。 您可以通过对符号应用修饰符来选择不同的变体。 Typst 还识别许多简写序列,如 =>,它们近似表示一个符号。 当存在此类简写时,符号的文档中会列出它。

$ x < y => x gt.eq.not y $
Preview

换行

公式也可以包含换行。 每一行可以包含一个或多个对齐点&),然后这些点将被对齐。

$ sum_(k=0)^n k
    &= 1 + ... + n \
    &= (n(n+1)) / 2 $
Preview

函数调用

数学模式支持特殊的没有哈希前缀的函数调用。 在这些“数学调用”中,参数列表的工作方式与代码中的有点不同:

$ frac(a^2, 2) $
$ vec(1, 2, delim: "[") $
$ mat(1, 2; 3, 4) $
$ lim_x =
    op("lim", limits: #true)_x $
Preview

要在数学调用中写入逐字的逗号或分号,请用反斜杠进行转义。 另一方面,如果冒号直接在标识符之前,则只有在特定方式直接前置的情况下才会被特殊识别,因此在这些情况下逐字显示它,可以在其前插入一个空格。

由哈希前缀引导的函数调用是正常的代码函数调用,不受这些规则的影响。

对齐

当方程包含多个对齐点&)时,这将创建交替右对齐和左对齐的列块。在下面的示例中,表达式(3x + y) / 7是右对齐的,= 9是左对齐的。单词“given”也是左对齐的,因为 && 在一行中创建两个对齐点,交替对齐两次。& &&& 行为完全相同。与此同时,“multiply by 7”右对齐,因为只有一个 & 位于其前面。每个对齐点简单地交替在右对齐和左对齐之间。

$ (3x + y) / 7 &= 9 && "given" \
    3x + y &= 63 & "multiply by 7" \
    3x &= 63 - y && "subtract y" \
    x &= 21 - y/3 & "divide by 3" $
Preview

数学字体

您可以通过 show-set规则 来设置数学字体,如下所示。请注意,只有特殊的 OpenType 数学字体适用于数学排版。

#show math.equation: set text(font: "Fira Math")
$ sum_(i in NN) 1 + i $
Preview

数学模块

所有数学函数都属于 math 模块,在方程中默认可用。在方程之外,可以使用 math. 前缀访问它们。

定义