StringMobject

该类由 凡人忆拾 编写,旨在让用户更加方便地对物件进行切片操作。 该类的实例支持 TransformMatchingStrings 动画。

该类为 MTexMarkupText 共同的抽象基类。如果想要在将来通过子字符串进行物件的切片,用户应当在创建实例时指定这些子字符串。可以通过 isolate 参数指定子串, 派生类的其它参数(包括 MTextex_to_color_map 字典键, MarkupTextt2c 字典键等)也可以指定子串,

该文件定义了 Selector 类型如下:

Selector = Union[
    str,
    re.Pattern,
    tuple[Union[int, None], Union[int, None]],
    Iterable[Union[
        str,
        re.Pattern,
        tuple[Union[int, None], Union[int, None]]
    ]]
]

可以通过以下任意一种或多种方式指定子串(详情请参阅各个子类):

  • isolate 参数(Selector 类型);

  • 派生类的部分参数;

  • 派生类特定的文本内部指定模式。

注意

以以上方式指定的所有子串两两不能“部分重合”(一个完全包含另一个是可以的)。

对于指定了至少一个子串的实例,该类将额外生成一份包含颜色信息的SVG(每种颜色对应一个被指定的子串),并按照位置匹配两个 SVG 的各个物件, 使得原始 SVG 的每个物件对应上该颜色标签,从而完成子串与物件的对应。

StringMobject