Latex
Latex是盛放数学公式的容器
方法 | 描述 |
---|---|
push |
推送一段“文本”到公式的末尾,下文会详细描述“文本”可以是什么 |
lfloor |
添加一个 |
rfloor |
添加一个 |
equiv |
添加一个 |
sup |
添加一个上标 |
sub |
添加一个下标 |
push
push
的对象可以是一段字符串,可以是任意具有font_size
方法的对象,还可以是另外一个Latex对象,下图分别展示了这三种情况:
let AplusB = sd.Latex()
.push("a")
.push("+")
.push("b");
let ImageplusRect = sd.Latex()
.push(ImageRect())
.push("+")
.push(TextRect().color(C.RED));
let CplusD = sd.Latex()
.push("c")
.push("+")
.push("d")
.push("=")
.push(AplusB);
符号
在Latex中有各种数学符号,例如
let eq = sd.Latex(svg)
.lfloor()
.push("c")
.push("/")
.push("d")
.rfloor()
.equiv()
.push("1");
sup/sub
sup
和sub
分别用来定义上标和下标,上标和下标既可以是一个字符串,也可以是任意具有font_size
方法的对象,还可以是另一个Latex对象,如下图所示:
let exp1 = sd.Latex(svg)
.push("(")
.push("a")
.push("+")
.push("b")
.push(")")
.sup("c");
let exp2 = sd.Latex(svg)
.push("(")
.push(sd.Latex(svg).push("a").sub("i,k").sup("F"))
.push("+")
.push(sd.Latex(svg).push("b").sub("k,j").sup("G"))
.push(")")
frac
即类似
let exp = sd.Latex(svg)
.frac("c", "d")
.push("+")
.frac(sd.Latex(svg).push("a").push("+").push("b"),
.Latex(svg).push("e").push("+").push("f"))
sd.push("=")
.push("1");
动画化the Latex!
如果仅仅是把Latex画出来,而不能动画化它,也太无聊了
对于一个Latex,我们是可以选择它的内部元素,进行交换/删除等操作的(等其他操作:TODO)
方法 | 描述 |
---|---|
swap(a,b) |
交换排位为a和b的两个数学元素 |
erase(a) |
删除排位为a的这个数学元素 |
insert_after(a,method,args) |
在排位为a的数学元素后面,用method(args) 添加一个数学元素 |