MTex¶
该类由凡人忆拾编写和完善,使用 latex/xelatex 生成公式。该类继承自 StringMobject ,
因而支持 TransformMatchingStrings 动画。
MTex 提供的参数有:
font_size: float = 48: 全局字号。alignment: str = "\\centering": 对齐方向。tex_environment: str | tuple[str, str] | None = "align*": tex 环境。MTexText类中该参数默认为None。tex_to_color_map: dict[Selector, ManimColor] = {}: 局部颜色。isolate: Selector = (): 预指定子串。base_color: ManimColor = WHITE: 全局颜色。
该类指定子串的可选方式有(Selector 类型可参阅 StringMobject ):
isolate参数(Selector类型);tex_to_color_map字典的键(Selector类型);双大括号内部的内容。
下面给出用不同方式指定子串的示例:
MTexSpecifySubstrings¶
class MTexSpecifySubstrings(Scene):
def construct(self):
tex = MTex("\\sqrt{{s}}").shift(UP)
tex.select_part("s").set_fill(TEAL)
self.add(tex)
poly = MTex(
"p(x) = a_0 x^0 + a_1 x^1 + \\cdots + a_{n-1} x^{n-1} + a_n x^n",
tex_to_color_map={re.compile(r"a_(.+?) x\^\1"): ORANGE}
)
self.add(poly)
MTex¶
- class manimlib.mobject.svg.mtex_mobject.MTex(tex_string: str, **kwargs)¶
初始化样式,VMobject 的样式有以下
fill填充样式颜色:
fill_color或color不透明度:
fill_opacity
stroke线条样式颜色:
stroke_color或color宽度:
stroke_width不透明度:
stroke_opacity
gloss光泽shadow阴影reflectiveness反光度
其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间
- set_color_by_tex(selector: Selector, color: ManimColor)¶
set_parts_color的别名
- set_color_by_tex_to_color_map(color_map: dict[Selector, ManimColor])¶
set_parts_color_by_dict的别名
MTexText¶
- class manimlib.mobject.svg.mtex_mobject.MTexText(tex_string: str, **kwargs)¶
MTex 无公式环境的文本
初始化样式,VMobject 的样式有以下
fill填充样式颜色:
fill_color或color不透明度:
fill_opacity
stroke线条样式颜色:
stroke_color或color宽度:
stroke_width不透明度:
stroke_opacity
gloss光泽shadow阴影reflectiveness反光度
其中, color, opacity, width 属性均可以为一个列表,在渲染时会按照列表对其进行补间
JTex¶
注意
在 manimgl 中并不包含,但可以通过一些方式引入。
由 Fran 编写,继承自 MTex,基于 mathjax 生成公式,可以通过链接查看使用方法 https://github.com/manim-kindergarten/manimgl-mathjax.git
由于该类基于 mathjax 生成公式,因此相比 LaTeX,该类会有更快的生成速度。同时对于公式的需求没有那么高的情况下,甚至可以不用安装 LaTeX,所以力推 JTex。但这个类并不支持中文。