跳到主要内容

Typst使用指南

本文档书写构建的初衷是,如果希望调用AI帮助书写文档,可以直接将该文档交给AI以直接规定清楚AI的输出。

全局设置​

说明:全局设置规定文档开头处一般需要写的内容,作为文档的基础模板,这个地方不需要AI来写,如果使用Python程序自动调用相关程序和AI生成文档,应当将本内容作为模板(保存为template.typ),每次导入模板即可,模板应该这样写:

// ------------------------
// KPS 统一盒子:自动编号 + 可引用
// 用法:#kpsbox(例题)[内容] 或 #kpsbox("例题")[内容]
// 可选参数:
// id: "ex:xxx" // 允许 @ex:xxx 引用编号
// stroke/fill/inset/radius/gap/title-size/title-weight // 外观控制
// 说明:
// - 不同 kind(例题/定理/练习)使用彼此独立的计数器
// - 标题在框外上方,显示为"例题 1"、"例题 2" …
// ------------------------
#let kpsbox(
kind, // 标题文字(如:例题、定理、练习)
body,
id: none, // 可选:给出 id 以便 @id 引用
stroke: 1pt,
fill: luma(98%),
inset: 12pt,
radius: 8pt, // 默认改为圆角
gap: 0.4em, // 标题与框之间的间距
title-size: 1.05em, // 标题字号
title-weight: 700 // 标题粗细
) = context {
// 计数器按 kind 分组
let kind-name = str(kind)
let cnt = counter("kpsbox-" + kind-name)

// 先步进计数器,确保从1开始
cnt.step()

// 获取当前值
let num = if id != none {
let anchor = label(id)
cnt.update(anchor)
cnt.display()
} else {
cnt.display()
}

// 标题块:如"例题 1"
block(below: gap)[
#set text(weight: title-weight, size: title-size)
#kind #num
]

// 带边框内容块 - 宽度设为100%以匹配文档宽度
block(width: 100%)[
#box(
stroke: stroke,
fill: fill,
inset: inset,
radius: radius,
width: 100%, // 确保框宽度为100%
body
)
]
}

#let project(
title: "",
authors: (),
logo: none,
body,
titlesize: ""
) = {
// 基础设置
set text(
font: ("dengxian"),
lang: "zh",
region: "cn"
)

// 初始化各种盒子的计数器,设置为0,这样第一次步进后就是1
counter("kpsbox-例题").update(1)
counter("kpsbox-例题解答").update(1)
counter("kpsbox-习题").update(1)
counter("kpsbox-习题解答").update(1)
counter("kpsbox-定理").update(1)


// 标题设置 - 所有级别加粗
show heading: set text(weight: 700, font: ("dengxian"))
set heading(numbering: "1.1.1")

// 其他文档设置
show heading.where(level: 1): set block(below: 1em)
show math.equation.where(block: false): math.display
set document(author: authors, title: title)
set page(paper: "a4")
set par(leading: 0.5em)

// 代码块样式
show raw.where(block: false): box.with(
fill: white,
stroke: 0.5pt + luma(200),
inset: (x: 3pt, y: 0pt),
outset: (y: 3pt),
radius: 2pt,
)
show raw.where(block: true): block.with(
fill: white,
stroke: 1pt + luma(100),
inset: 10pt,
radius: 4pt,
width: 100%,
)

// 标题页
v(0.6fr)
if logo != none {
align(right, image(logo, width: 26%))
}
v(9.6fr)
text(titlesize, weight: 700, font: ("Times New Roman", "Microsoft YaHei", "SimHei"), title)
v(0.2fr)
for c in authors [#c]
v(2.4fr)
pagebreak()

// 目录页
set page(numbering: "1", number-align: center)
outline(depth: 3, indent: auto)
pagebreak()

// 正文
set par(justify: true)
body
}

此文件保存为template.typ 然后写主文档:

#import "KPS-Template.typ": *
#import "@preview/physica:0.9.6": *
#show: project.with(
title: "KPS-Project-简约书籍模板",
titlesize: 1.5em,
authors: ("一号作者",)
)


//下方便可接入AI生成的内容


此文件接入AI的内容过后,最终的结果应当保存为result.typ

文档细节规定​

以下是修改后的文档,所有表格都已居中:

Typst表格教程:3步创建带合并单元格的结构化表格​

一、表格基础:从3列布局开始​

在Typst中,#table() 是构建表格的核心函数。以示例中的3列表格为例,首先通过 columns: 3 定义固定列数,align: center + horizon 确保内容垂直居中+水平对齐。注意Typst表格遵循行主序填充(先行后列),所有单元格需按顺序填入:

#align(center, table(
columns: 3, // 固定3列
align: center, // 全局垂直居中
// 表头行(独立语义化标签)
table.header[Technique][Advantage][Drawback],
// 第1数据行:3个单元格
[Diegetic], [Hekki 1], [Hekki 2],
// 第2数据行
[Extradiegetic], [Breaks immersion], [Obtrusive],
))

二、关键技巧:跨列合并(colspan)​

当需要横向合并单元格时,使用 table.cell(colspan: 2) 包裹内容。注意:合并列数需小于等于总列数,且会占据后续单元格位置。修改示例第二行:

#align(center, table(
columns: 3,
align: center,
table.header[Technique][Advantage][Drawback],
[Diegetic], // 第1列
table.cell(colspan: 2, "Hekki"), // 合并2-3列,内容居中
// 无需填写第3列(已被合并占据)
[Extradiegetic], [Breaks immersion], [Obtrusive],
))

此时表格结构变为:

TechniqueAdvantage(合并列)
DiegeticHekki

三、合并同行中的表格的最终代码​

#align(center, table(
columns: 3, // 固定3列
align: center, // 全局垂直居中
// 表头行(独立语义化标签)
table.header[Technique][Advantage][Drawback],
// 第1数据行:3个单元格
[Diegetic], table.cell(colspan: 2, "Hekki"),
// 第2数据行
[Extradiegetic], [Breaks immersion], [Obtrusive],
))

数学物理化学公式​

绝对值​

abs(x)

这能渲染出x的绝对值

范数​

norm(x)

这能渲染出x的范数

大 O 符号(Big O):“不超过某阶的增长”(上界)​

Order(x)

渲染为大O符号

小 o 符号(Little o):“远小于某阶的增长”(严格上界)​

order(x)

渲染为小o符号

集合符号​

Set(a_n), Set(a_i; forall i)
Set(vec(1,n); forall n, n|2)
Set(a; exists x,a=x^2)

使用Set()包裹集合内的内容,使用分号“;”分割集合元素和元素条件,forall是“任取”符号,exists是“存在”符号

区间求值​

evaluated(x)_0^infinity

例如说计算定积分,最后一步应当有原函数取上限值减去原函数取下限值,这就是区间求值符号作用的地方。infinity是无限的意思,按照具体的区间,可以对上下限进行修改。

期待值​

expval(u)
expval(p, psi)

期待值(即期望值),在量子力学等领域常用狄拉克符号(bra-ket 符号)表示,如示例中⟨u⟩\langle u \rangle、⟨ψ∣p∣ψ⟩\langle \psi|p|\psi \rangle,用于描述物理量在量子态下的平均取值,也可类比推广到概率论中随机变量的期望计算场景,可根据具体物理量或随机变量对参数进行调整。

列向量​

vec(1, 2)

列向量,示例中(12)\begin{pmatrix}1 \\ 2\end{pmatrix},用于表示具有列结构的向量,可根据具体元素个数和数值进行调整。

行向量​

vecrow(alpha, b)
vecrow(sum_0^n i, b, delim:"[")

行向量,示例中(α,b)(\alpha, b)、[∑0ni,b]\left[\sum_0^n i, b\right],用于表示具有行结构的向量,可通过delim参数修改分隔符,也可根据元素内容灵活调整。

转置​

v^TT
A^TT

转置,示例中vTv^\mathrm{T}、ATA^\mathrm{T},用于表示矩阵、向量的转置操作,在线性代数中用于交换行列结构,也可参考相关线性代数章节(如Section 3.7.1)深入了解。

粗体向量​

vb(a)
vb(mu_1)

粗体向量,示例中a\boxed{a}、μ1\boxed{\mu_1},通过加粗符号来表示向量,常用于线性代数、物理等领域对向量的标记,可根据具体符号进行调整。

单位向量​

vu(a)
vu(mu_1)

单位向量,示例中a^\hat{a}、μ1^\hat{\mu_1},用于表示模长为1的向量,在力学、电磁学等领域描述方向时常用,可根据具体向量符号修改。

带箭头向量​

va(a)
va(mu_1)

带箭头向量,示例中a⃗\vec{a}、μ1⃗\vec{\mu_1},通过在符号上方加箭头来标记向量(非粗体,符合ISO 80000-2:2019标准),适用于需要明确向量标识的场景,可更换具体符号。

梯度​

grad f

梯度,示例中∇f\nabla f,是多元函数的偏导数组成的向量,用于描述函数在空间中的变化率方向,在微积分、物理场分析中广泛应用。

散度​

div vb(E)

散度,示例中∇⋅E\nabla \cdot \boxed{E},用于描述矢量场的发散程度,在电磁学(如电场的散度)、流体力学等领域是核心概念。

旋度​

curl vb(B)

旋度,示例中∇×B\nabla \times \boxed{B},用于描述矢量场的旋转程度,在电磁学(如磁场的旋度)等领域具有关键作用。

拉普拉斯算子​

diaer(u) = c^2 laplacian u

拉普拉斯算子,示例中u¨=c2∇2u\ddot{u} = c^2 \nabla^2 u(注意:非Typst中的Laplace Δ\Delta 形式),是二阶微分算子,在偏微分方程、物理场(如热传导、波动)中频繁出现。

点积​

a dprod b

点积(内积的一种),示例中a⋅ba \cdot b,用于计算两个向量的标量结果,反映向量的投影关系,在力学(如功的计算)、线性代数中常用。

叉积​

a cprod b

叉积,示例中a×ba \times b,用于计算两个向量的矢量结果,其方向垂直于原向量所在平面,在力学(如力矩)、电磁学(如洛伦兹力)中应用广泛。

内积​

iprod(u, v)
iprod(sum_i a_i, b)

内积,示例中⟨u,v⟩\langle u, v \rangle、⟨∑iai,b⟩\left\langle \sum_i a_i, b \right\rangle,是向量空间中元素的一种运算,可推广到函数空间等场景,用于定义长度、角度等概念。

矩阵​

mat(1,2;3,4)

矩阵,示例中(1234)\begin{pmatrix}1 & 2 \\ 3 & 4\end{pmatrix},是由数排成的矩形阵列,在线性代数中用于描述线性变换、方程组等,可根据元素数量和数值调整。

矩阵行列式​

mdet(1,x;1,y)

矩阵行列式,示例中∣1x1y∣\begin{vmatrix}1 & x \\ 1 & y\end{vmatrix},是矩阵的一个标量属性,用于判断矩阵可逆性、求解线性方程组(克拉默法则)等,可根据矩阵元素修改。

对角矩阵​

dmat(1,2)
dmat(1,a,xi,delim:"[",fill:0)

对角矩阵,示例中(12)\begin{pmatrix}1 & \\ & 2\end{pmatrix}、[1000a000ξ]\begin{bmatrix}1 & 0 & 0 \\ 0 & a & 0 \\ 0 & 0 & \xi\end{bmatrix},是主对角线外元素全为0的矩阵,可通过delim修改分隔符、fill指定填充元素,也可调整对角线上的元素。

反对角矩阵​

admat(1,2)
admat(1,a,xi,delim:"[",fill:dot)

反对角矩阵,示例中(12)\begin{pmatrix} & 1 \\ 2 & \end{pmatrix}、[⋅⋅1⋅a⋅ξ⋅⋅]\begin{bmatrix} \cdot & \cdot & 1 \\ \cdot & a & \cdot \\ \xi & \cdot & \cdot \end{bmatrix},是主对角线元素全为非主对角线(反对角线)有元素的矩阵,可通过delim修改分隔符、fill指定填充样式,也可调整反对角线上的元素。

单位矩阵​

imat(2)
imat(3,delim:"[",fill:*)

单位矩阵,示例中(11)\begin{pmatrix}1 & \\ & 1\end{pmatrix}、[1∗∗∗1∗∗∗1]\begin{bmatrix}1 & * & * \\ * & 1 & * \\ * & * & 1\end{bmatrix},是主对角线元素全为1、其余元素全为0的方阵,在线性代数中是矩阵乘法的单位元,可通过delim修改分隔符、fill指定填充样式,也可调整维度。

零矩阵​

zmat(2)
zmat(3,delim:"[")

零矩阵,示例中(0000)\begin{pmatrix}0 & 0 \\ 0 & 0\end{pmatrix}、[000000000]\begin{bmatrix}0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{bmatrix},是所有元素都为0的矩阵,在线性代数中是矩阵加法的单位元,可通过delim修改分隔符,也可调整维度。

雅可比矩阵​

jmat(f_1,f_2; x,y)
jmat(f,g; x,y,z; delim:"[")
jmat(f_1,f_2;x,y;big:#true)
jmat(f,g;x,y,z;delim:"|",big:#true)

雅可比矩阵,示例中(∂f1∂x∂f1∂y∂f2∂x∂f2∂y)\begin{pmatrix}\frac{\partial f_1}{\partial x} & \frac{\partial f_1}{\partial y} \\ \frac{\partial f_2}{\partial x} & \frac{\partial f_2}{\partial y}\end{pmatrix}、[∂f∂x∂f∂y∂f∂z∂g∂x∂g∂y∂g∂z]\begin{bmatrix}\frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} & \frac{\partial f}{\partial z} \\ \frac{\partial g}{\partial x} & \frac{\partial g}{\partial y} & \frac{\partial g}{\partial z}\end{bmatrix}、(∂f1∂x∂f1∂y∂f2∂x∂f2∂y)\begin{pmatrix}\frac{\partial f_1}{\partial x} & \frac{\partial f_1}{\partial y} \\ \frac{\partial f_2}{\partial x} & \frac{\partial f_2}{\partial y}\end{pmatrix}(大分数版)、∣∂f∂x∂f∂y∂f∂z∂g∂x∂g∂y∂g∂z∣\begin{vmatrix}\frac{\partial f}{\partial x} & \frac{\partial f}{\partial y} & \frac{\partial f}{\partial z} \\ \frac{\partial g}{\partial x} & \frac{\partial g}{\partial y} & \frac{\partial g}{\partial z}\end{vmatrix}(大分数版),是一阶偏导数组成的矩阵,用于描述多元函数的局部线性变换,可通过delim修改分隔符、big:#true取消分数压缩,也可调整函数和变量数量。

海塞矩阵​

hmat(f; x,y)
hmat(; x,y,z; delim:"[")
hmat(f;x,y;big:#true)
hmat(;x,y,z;delim:"|",big:#true)

海塞矩阵,示例中(∂2f∂x2∂2f∂x∂y∂2f∂y∂x∂2f∂y2)\begin{pmatrix}\frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x\partial y} \\ \frac{\partial^2 f}{\partial y\partial x} & \frac{\partial^2 f}{\partial y^2}\end{pmatrix}、[∂2∂x2∂2∂x∂y∂2∂x∂z∂2∂y∂x∂2∂y2∂2∂y∂z∂2∂z∂x∂2∂z∂y∂2∂z2]\begin{bmatrix}\frac{\partial^2}{\partial x^2} & \frac{\partial^2}{\partial x\partial y} & \frac{\partial^2}{\partial x\partial z} \\ \frac{\partial^2}{\partial y\partial x} & \frac{\partial^2}{\partial y^2} & \frac{\partial^2}{\partial y\partial z} \\ \frac{\partial^2}{\partial z\partial x} & \frac{\partial^2}{\partial z\partial y} & \frac{\partial^2}{\partial z^2}\end{bmatrix}、(∂2f∂x2∂2f∂x∂y∂2f∂y∂x∂2f∂y2)\begin{pmatrix}\frac{\partial^2 f}{\partial x^2} & \frac{\partial^2 f}{\partial x\partial y} \\ \frac{\partial^2 f}{\partial y\partial x} & \frac{\partial^2 f}{\partial y^2}\end{pmatrix}(大分数版)、∣∂2∂x2∂2∂x∂y∂2∂x∂z∂2∂y∂x∂2∂y2∂2∂y∂z∂2∂z∂x∂2∂z∂y∂2∂z2∣\begin{vmatrix}\frac{\partial^2}{\partial x^2} & \frac{\partial^2}{\partial x\partial y} & \frac{\partial^2}{\partial x\partial z} \\ \frac{\partial^2}{\partial y\partial x} & \frac{\partial^2}{\partial y^2} & \frac{\partial^2}{\partial y\partial z} \\ \frac{\partial^2}{\partial z\partial x} & \frac{\partial^2}{\partial z\partial y} & \frac{\partial^2}{\partial z^2}\end{vmatrix}(大分数版),是二阶偏导数组成的对称矩阵,用于多元函数的极值分析、泰勒展开等,可通过delim修改分隔符、big:#true取消分数压缩,也可调整变量数量。

旋转矩阵(2D和3D)​

rot2mat(theta)
rot2mat(-a/2,delim:"[")
rot2mat(display(a/2),delim:"[")
rot3xmat(theta)
rot3ymat(45^degree)
rot3zmat(theta,delim:"[")

旋转矩阵,2D示例中(cos⁡θ−sin⁡θsin⁡θcos⁡θ)\begin{pmatrix}\cos\theta & -\sin\theta \\ \sin\theta & \cos\theta\end{pmatrix}、[cos⁡(−a2)−sin⁡(−a2)sin⁡(−a2)cos⁡(−a2)]\begin{bmatrix}\cos(-\frac{a}{2}) & -\sin(-\frac{a}{2}) \\ \sin(-\frac{a}{2}) & \cos(-\frac{a}{2})\end{bmatrix}、[cos⁡a2−sin⁡a2sin⁡a2cos⁡a2]\begin{bmatrix}\cos\frac{a}{2} & -\sin\frac{a}{2} \\ \sin\frac{a}{2} & \cos\frac{a}{2}\end{bmatrix};3D示例中(1000cos⁡θ−sin⁡θ0sin⁡θcos⁡θ)\begin{pmatrix}1 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta \\ 0 & \sin\theta & \cos\theta\end{pmatrix}、(cos⁡45∘0sin⁡45∘010−sin⁡45∘0cos⁡45∘)\begin{pmatrix}\cos45^\circ & 0 & \sin45^\circ \\ 0 & 1 & 0 \\ -\sin45^\circ & 0 & \cos45^\circ\end{pmatrix}、[cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001]\begin{bmatrix}\cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1\end{bmatrix},用于描述平面或空间中的旋转变换,2D旋转围绕原点,3D旋转分别围绕x、y、z轴,可通过delim修改分隔符、调整角度参数。

格拉姆矩阵​

grammat(alpha,beta)
grammat(v_1,v_2,v_3, delim:"[")
grammat(v_1,v_2, norm:#true)

格拉姆矩阵,示例中(⟨α,α⟩⟨α,β⟩⟨β,α⟩⟨β,β⟩)\begin{pmatrix}\langle\alpha, \alpha\rangle & \langle\alpha, \beta\rangle \\ \langle\beta, \alpha\rangle & \langle\beta, \beta\rangle\end{pmatrix}、[⟨v1,v1⟩⟨v1,v2⟩⟨v1,v3⟩⟨v2,v1⟩⟨v2,v2⟩⟨v2,v3⟩⟨v3,v1⟩⟨v3,v2⟩⟨v3,v3⟩]\begin{bmatrix}\langle v_1, v_1\rangle & \langle v_1, v_2\rangle & \langle v_1, v_3\rangle \\ \langle v_2, v_1\rangle & \langle v_2, v_2\rangle & \langle v_2, v_3\rangle \\ \langle v_3, v_1\rangle & \langle v_3, v_2\rangle & \langle v_3, v_3\rangle\end{bmatrix}、(∥v1∥2⟨v1,v2⟩⟨v2,v1⟩∥v2∥2)\begin{pmatrix}\Vert v_1\Vert^2 & \langle v_1, v_2\rangle \\ \langle v_2, v_1\rangle & \Vert v_2\Vert^2\end{pmatrix},由向量的内积组成,用于衡量向量组的线性相关性、计算投影矩阵等,可通过delim修改分隔符、norm:#true将对角元素显示为向量范数的平方,也可调整向量数量。

左矢​

bra(u)
bra(vec(1,2))

左矢,示例中⟨u∣\langle u|、⟨(12)∣\left\langle\begin{pmatrix}1 \\ 2\end{pmatrix}\right|,是量子力学中狄拉克符号的“左部分”,用于与右矢配合表示内积等运算,可根据具体量子态(如向量、符号)调整内容。

右矢​

ket(u)
ket(vec(1,2))

右矢,示例中∣u⟩|u\rangle、∣(12)⟩\left|\begin{pmatrix}1 \\ 2\end{pmatrix}\right\rangle,是量子力学中狄拉克符号的“右部分”,用于表示量子态,可根据具体量子态(如向量、符号)调整内容。

内积(狄拉克符号)​

bracket(a)
bracket(u, v)
bracket(psi,A/N,phi)

内积(狄拉克符号),示例中⟨a∣a⟩\langle a|a\rangle、⟨u∣v⟩\langle u|v\rangle、⟨ψ∣AN∣ϕ⟩\left\langle\psi\left|\frac{A}{N}\right|\phi\right\rangle,用于计算量子态或算符的内积,可支持1、2、3个参数,适用于量子力学中态与态、态与算符与态的内积场景。

外积(狄拉克符号)​

ketbra(a)
ketbra(u, v)
ketbra(a/N, b)

外积(狄拉克符号),示例中∣a⟩⟨a∣|a\rangle\langle a|、∣u⟩⟨v∣|u\rangle\langle v|、∣aN⟩⟨b∣\left|\frac{a}{N}\right\rangle\langle b|,用于表示量子态的外积(投影算符类结构),可支持1或2个参数,在量子力学中用于描述态的投影、算符构造等场景。

期望值(狄拉克符号)​

expval(u)
expval(A,psi)

期望值(狄拉克符号),示例中⟨u⟩\langle u\rangle、⟨ψ∣A∣ψ⟩\langle\psi|A|\psi\rangle,用于计算物理量在量子态下的期望值,适用于量子力学中算符的期望取值场景,可根据算符和量子态调整参数。

矩阵元(狄拉克符号)​

mel(n, partial_nu H, m)

矩阵元(狄拉克符号),示例中⟨n∣∂νH∣m⟩\langle n|\partial_\nu H|m\rangle,用于表示算符在量子态之间的矩阵元,与bracket(n,M,n)作用类似,适用于量子力学中算符矩阵元的计算场景。

概率​

Pr(x)

概率,示例中Pr⁡(x)\Pr(x),用于表示事件发生的概率,在概率论中描述随机事件的可能性大小,可根据具体随机变量调整参数。

指数函数​

exp x

指数函数,示例中exp⁡x\exp x,是以自然常数ee为底的指数运算,在微积分、概率统计(如指数分布)等领域广泛应用。

对数函数​

log x, lg x, ln x

对数函数,示例中log⁡x,lg⁡x,ln⁡x\log x, \lg x, \ln x,分别对应一般对数、常用对数(以10为底)、自然对数(以ee为底),用于解决指数关系的逆运算,在数学分析、工程计算中常见。

二进制对数​

lb x

二进制对数,示例中lb⁡x\operatorname{lb} x,是以2为底的对数,在计算机科学(如信息熵、算法复杂度)中应用广泛。

矩阵行列式​

det A

矩阵行列式,示例中det⁡A\det A,是矩阵的一个标量属性,用于判断矩阵可逆性、求解线性方程组等,在线性代数中具有核心地位。

对角矩阵(紧凑形式)​

diag(-1,1,1,1)

对角矩阵(紧凑形式),示例中diag⁡(−1,1,1,1)\operatorname{diag}(-1,1,1,1),是主对角线元素为指定值、其余元素为0的矩阵的紧凑表示(若需显式矩阵形式可使用dmat),在线性代数中用于简化对角矩阵的书写。

矩阵迹​

trace A, tr A
Trace A, Tr A

矩阵迹,示例中trace⁡A,tr⁡A\operatorname{trace} A, \operatorname{tr} A、Trace⁡A,Tr⁡A\operatorname{Trace} A, \operatorname{Tr} A,是矩阵主对角线元素的和,在线性代数中用于描述矩阵的特征值和、线性变换的迹等场景。

矩阵秩​

rank A

矩阵秩,示例中rank⁡A\operatorname{rank} A,是矩阵中行(或列)向量组的极大线性无关组的秩,用于衡量矩阵的线性相关性、解空间维度等,在线性代数中是关键概念。

高斯误差函数​

erf(x)

高斯误差函数,示例中erf⁡(x)\operatorname{erf}(x),在概率统计(如正态分布的累积分布函数)、工程计算中用于描述误差分布等场景。

留数(复分析)​

Res A

留数(复分析),示例中Res⁡A\operatorname{Res} A,在复分析中用于计算复变函数的围道积分,是复积分的核心工具之一。

实部与虚部(复分析)​

Re z, Im z

实部与虚部(复分析),示例中Re⁡z,Im⁡z\operatorname{Re} z, \operatorname{Im} z,用于分解复数为实部和虚部,是复分析、电路分析(如交流电的实虚分量)等领域的基础概念。

符号函数​

sgn x

符号函数,示例中sgn⁡x\operatorname{sgn} x,用于表示实数的符号(正、负、零),在数学分析、信号处理等领域用于描述变量的符号特征。

微分​

differential(...)

微分,示例中df,dxdy,d3x,dx∧dy\mathrm{d}f, \mathrm{d}x\mathrm{d}y, \mathrm{d}^3x, \mathrm{d}x \wedge \mathrm{d}y,用于描述函数或变量的微小变化,在微积分、微分几何(如外微分)等领域是基础概念。

变分​

var(f)
var(x,y)

变分,示例中δf\delta f、δxδy\delta x\delta y,是dd(..., d: delta)的简写,用于变分法中描述函数的微小变分,在力学(如拉格朗日力学)、变分原理中应用广泛。

差分​

difference(f)
difference(x,y)

差分,示例中Δf\Delta f、ΔxΔy\Delta x\Delta y,是dd(..., d: Delta)的简写,用于描述变量或函数的有限变化,在数值分析(如差分方程)、离散数学中常见。

导数​

derivative(...)

导数,示例中ddx,dfdx,ΔkfΔxk,dfdx\frac{\mathrm{d}}{\mathrm{d}x}, \frac{\mathrm{d}f}{\mathrm{d}x}, \frac{\Delta^k f}{\Delta x^k}, \frac{\mathrm{d}f}{\mathrm{d}x},用于描述函数的变化率,在微积分中是核心概念,可表示一阶、高阶等多种导数形式。

偏导数​

partialderivative(...)

偏导数,示例中∂∂x,∂f∂x,∂4f∂x2∂y2,∂5f∂x2∂y3,∂f∂x\frac{\partial}{\partial x}, \frac{\partial f}{\partial x}, \frac{\partial^4 f}{\partial x^2\partial y^2}, \frac{\partial^5 f}{\partial x^2\partial y^3}, \frac{\partial f}{\partial x},用于描述多元函数对某一变量的变化率,支持混合阶偏导数,在多元微积分、物理场分析(如偏微分方程)中不可或缺。

一般文档格式​

代码​

typst中渲染代码和markdown类似,都是用两个"```"包裹代码部分作为代码框,例如:

#include <iostream>

int main() {
// 输出Hello, World!到控制台
std::cout << "Hello, World!" << std::endl;
return 0;
}

你也可以使用行内代码,例如说:print("hello)

加粗​

加粗使用*包裹内容

*这是加粗的内容*

斜体​

斜体使用_包裹内容

_这是斜体的内容_

下划线​

使用命令

#underline("下划线的文本")

删除线​

#strike("被删除的文本")

标题体系​

使用等号组织标题

= 这是一级标题
== 这是二级标题
=== 这是三级标题
==== 这是四级标题

列表与嵌套​

无序列表

- 主项1
- 子项1-1
- 子项1-2
- 主项2
- 子项2-1
- 子项2-2

有序列表

+ 主项1
+ 子项1-1
+ 子项1-2
+ 主项2
+ 子项2-1
+ 子项2-2

图片与其引用​

// 1. 定义带标签的图片:label="fig:trend" 是关键,绑定引用标识
#figure(
image("chart.jpg", width: 80%),
caption: "趋势分析图",
) <fig:trend>

// 2. 引用该图片:用 @+标签名,自动关联编号
如图@fig:trend 所示,2023-2024 年数据呈稳步上升趋势,其中 Q3 增幅达 15%。

对于AI识别文档,它需要做的事情​

AI生成文档的时候并不能完美地理解文档全文的组织,所以在调用AI识别pdf,分段拼接全文档的时候,应当弱化文档排版技术,尽量的使用最纯粹的文档格式,具体体现在:

不能使用标题格式,如果识别到有标题,请将标题单独成行按照普通文本输出,上方和下方都要空一行,这样才能隔离出标题。 不能使用下划线、删除线、加粗、斜体,就用最普通的文字输出。

当然要完全忠于原文,AI最多只能把混乱的文档组织成从上到下的文段的格式,但是具体的内容,即使是错别字,也不要修改,这个应当在后期修改。

面对表格,AI尽可能地转化表格为typst格式,面对代码,AI将把它放到代码环境中,在文段中的小段语句说明的代码使用行内代码,大段的代码使用大代码环境。

面对图片,AI识别图片有什么内容,对于风景和画像图,描述这是什么图,对于数学物理图片,描述图片内容,并叙述一下读到的参数。 AI输出图片说明的格式大概是:“【此处有一张图片】...(后面是上述提及的描述)”