Tex¶
Tex
和 TexText
使用 latex/xelatex
来讲输入的字符串根据LaTeX语法编译为 dvi/xdv
文件,
再通过 dvisvgm
将其转换为 svg
文件,通过 SVGMobject
转换为物体,实现添加文字/公式的效果。
关于 Tex
和 TexText
的区别,还有 LaTeX
发行版安装和文字字体问题,常见问题中有更详细的解答:
MK做了一个关于常用 Tex
和 TexText
的视频(该视频适用于旧版,但新版也能凑合着看):
〔manim教程〕第四讲 SVG、图片与文字
另外,凡人忆拾 正在写 MTex
类,针对 Tex
类的上色做了相当多的优化,目前还在测试期间,可以先尝试下载他的分支体验一下,待 Grant 合并分支后,我们将会把这一部分文档一并更新。
SingleStringTex¶
Tex¶
- class manimlib.mobject.svg.tex_mobject.Tex(*tex_strings: str, **kwargs)¶
用于生成 LaTeX 公式(align 环境)
可传入多个
tex_strings
arg_separator
表示每两个字符串之间的字符,默认为空格isolate
列表中放有想要单独拆开的字符串,可以不用手动拆开tex_to_color_map
为一个字典,会根据其中的键自动拆开字符串用于上色
- break_up_by_substrings()¶
重新组织子物体,
tex_string
中每个子字符串为一个子物体
- break_up_tex_strings(tex_strings: Iterable[str]) Iterable[str] ¶
根据传入的 tex_to_color_map 再次拆开 tex_strings
- index_of_part_by_tex(tex: str, start: int = 0, **kwargs) int ¶
根据 tex 获取在子物体中的下标
- set_color_by_tex(tex: str, color: ManimColor, **kwargs)¶
给
tex
上颜色为color
,注意此时tex
要独立存在,否则会给包含tex
的也上色
- set_color_by_tex_to_color_map(tex_to_color_map: dict[str, ManimColor], **kwargs)¶
根据
texs_to_color_map
上色,同样,会给包含键的全部上色,不会自动拆分
- sort_alphabetically() None ¶
根据字典序给子物体排序
TexText¶
- class manimlib.mobject.svg.tex_mobject.TexText(*tex_strings: str, **kwargs)¶
用于生成 LaTeX 文字,默认每行之间居中
传入的两个字符串之间无分隔 (即
arg_separator=""
)可传入多个
tex_strings
arg_separator
表示每两个字符串之间的字符,默认为空格isolate
列表中放有想要单独拆开的字符串,可以不用手动拆开tex_to_color_map
为一个字典,会根据其中的键自动拆开字符串用于上色
BulletedList¶
TexFromPresetString¶
- class manimlib.mobject.svg.tex_mobject.TexFromPresetString(**kwargs)¶
可传入多个
tex_strings
arg_separator
表示每两个字符串之间的字符,默认为空格isolate
列表中放有想要单独拆开的字符串,可以不用手动拆开tex_to_color_map
为一个字典,会根据其中的键自动拆开字符串用于上色
Title¶
- class manimlib.mobject.svg.tex_mobject.Title(*text_parts: str, **kwargs)¶
标题
include_underline=True
会添加下划线(默认添加)underline_width
下划线的长度(默认屏幕宽 - 2 个单位)match_underline_width_to_text=True
时将下划线的长度和文字匹配(默认为 False)