Skip to content

Commit 6df53cc

Browse files
Aathish04PgBiel
andauthored
Deprecate TexMobject and TextMobject in favour of MathTex and Tex (#391)
* Rename TexMobject to MathTex Rename TextMobject to Tex Replace all instances of TexMobject with MathTex and TextMobject with Tex. Get rid of single-use TexSymbol. Rename SingleStringTexMobject to SingleStringMathTex. Add Deprecation warnings to TexMobject and TextMobject. * Edit __all__ for tex_mobject.py * Re-add TexSymbol by request of devs. * Docstring Modifications by @PgBiel Co-authored-by: Pg Biel <[email protected]> * Import logger differently, by @leotrs * Run updated Black on files changed. Co-authored-by: Pg Biel <[email protected]>
1 parent c7e9263 commit 6df53cc

File tree

15 files changed

+223
-144
lines changed

15 files changed

+223
-144
lines changed

docs/source/installation/linux.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ dependencies are installed correctly. All distributions will follow the same
88
instructions in `Certifying a clean install`_.
99

1010
The two necessary dependencies are cairo and ffmpeg. LaTeX is strongly
11-
recommended, as it is necessary to have access to the ``TexMobject`` class.
11+
recommended, as it is necessary to have access to the ``Tex`` and ``MathTex`` classes.
1212
Sox is only required if you want manim to play sounds when rendering scenes.
1313

1414
Ubuntu/Debian

example_scenes/basic.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717

1818
class OpeningManimExample(Scene):
1919
def construct(self):
20-
title = TextMobject("This is some \\LaTeX")
21-
basel = TexMobject("\\sum_{n=1}^\\infty " "\\frac{1}{n^2} = \\frac{\\pi^2}{6}")
20+
title = Tex("This is some \\LaTeX")
21+
basel = MathTex("\\sum_{n=1}^\\infty " "\\frac{1}{n^2} = \\frac{\\pi^2}{6}")
2222
VGroup(title, basel).arrange(DOWN)
2323
self.play(
2424
Write(title), FadeInFrom(basel, UP),
2525
)
2626
self.wait()
2727

28-
transform_title = TextMobject("That was a transform")
28+
transform_title = Tex("That was a transform")
2929
transform_title.to_corner(UP + LEFT)
3030
self.play(
3131
Transform(title, transform_title),
@@ -34,7 +34,7 @@ def construct(self):
3434
self.wait()
3535

3636
grid = NumberPlane()
37-
grid_title = TextMobject("This is a grid")
37+
grid_title = Tex("This is a grid")
3838
grid_title.scale(1.5)
3939
grid_title.move_to(transform_title)
4040

@@ -46,7 +46,7 @@ def construct(self):
4646
)
4747
self.wait()
4848

49-
grid_transform_title = TextMobject(
49+
grid_transform_title = Tex(
5050
"That was a non-linear function \\\\" "applied to the grid"
5151
)
5252
grid_transform_title.move_to(grid_title, UL)
@@ -87,12 +87,8 @@ def construct(self):
8787

8888
class WriteStuff(Scene):
8989
def construct(self):
90-
example_text = TextMobject(
91-
"This is a some text", tex_to_color_map={"text": YELLOW}
92-
)
93-
example_tex = TexMobject(
94-
"\\sum_{k=1}^\\infty {1 \\over k^2} = {\\pi^2 \\over 6}",
95-
)
90+
example_text = Tex("This is a some text", tex_to_color_map={"text": YELLOW})
91+
example_tex = MathTex("\\sum_{k=1}^\\infty {1 \\over k^2} = {\\pi^2 \\over 6}",)
9692
group = VGroup(example_text, example_tex)
9793
group.arrange(DOWN)
9894
group.set_width(config["frame_width"] - 2 * LARGE_BUFF)
@@ -131,7 +127,7 @@ def construct(self):
131127
self.play(ShowCreation(my_dict))
132128
self.wait()
133129

134-
text = TextMobject("Some text").set_color(GREEN).next_to(square, DOWN)
130+
text = Tex("Some text").set_color(GREEN).next_to(square, DOWN)
135131

136132
# add a key-value pair by wrapping it in a single-element list of tuple
137133
# after attrs branch is merged, it will be easier like `.add(t=text)`
@@ -148,7 +144,7 @@ def construct(self):
148144
self.wait()
149145

150146
# also supports python dict styled reassignment
151-
my_dict["t"] = TextMobject("Some other text").set_color(BLUE)
147+
my_dict["t"] = Tex("Some other text").set_color(BLUE)
152148
self.wait()
153149

154150
# remove submoject by key

example_scenes/customtex.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ class TexTemplateFromCLI(Scene):
1111
"""
1212

1313
def construct(self):
14-
text = TexMobject(r"\vv{vb}")
15-
# text=TextMobject(r"$\vv{vb}$")
14+
text = MathTex(r"\vv{vb}")
15+
# text=Tex(r"$\vv{vb}$")
1616
self.play(Write(text))
1717

1818

@@ -26,6 +26,6 @@ def construct(self):
2626
tpl.append_package(["esvect", ["f"]])
2727
config["tex_template"] = tpl
2828

29-
# text=TextMobject(r"$\vv{vb}$")
30-
text = TexMobject(r"\vv{vb}")
29+
# text=Tex(r"$\vv{vb}$")
30+
text = MathTex(r"\vv{vb}")
3131
self.play(Write(text))

logo/logo.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ def get_h_line(input_tracker):
7474
triangle.scale(0.1)
7575

7676
#
77-
x_label_p1 = TexMobject("a")
78-
output_label_p1 = TexMobject("f(a)")
79-
x_label_p2 = TexMobject("b")
80-
output_label_p2 = TexMobject("f(b)")
77+
x_label_p1 = MathTex("a")
78+
output_label_p1 = MathTex("f(a)")
79+
x_label_p2 = MathTex("b")
80+
output_label_p2 = MathTex("f(b)")
8181
v_line_p1 = get_v_line(input_tracker_p1)
8282
v_line_p2 = get_v_line(input_tracker_p2)
8383
h_line_p1 = get_h_line(input_tracker_p1)
@@ -181,10 +181,5 @@ def get_h_line(input_tracker):
181181
# adding manim
182182
picture = Group(*self.mobjects)
183183
picture.scale(0.6).to_edge(LEFT, buff=SMALL_BUFF)
184-
manim = (
185-
TextMobject("Manim")
186-
.set_height(1.5)
187-
.next_to(picture, RIGHT)
188-
.shift(DOWN * 0.7)
189-
)
184+
manim = Tex("Manim").set_height(1.5).next_to(picture, RIGHT).shift(DOWN * 0.7)
190185
self.add(manim)

manim/mobject/coordinate_systems.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from ..mobject.geometry import Arrow
1111
from ..mobject.geometry import Line
1212
from ..mobject.number_line import NumberLine
13-
from ..mobject.svg.tex_mobject import TexMobject
13+
from ..mobject.svg.tex_mobject import MathTex
1414
from ..mobject.types.vectorized_mobject import VGroup
1515
from ..utils.config_ops import digest_config
1616
from ..utils.config_ops import merge_dicts_recursively
@@ -73,7 +73,7 @@ def get_y_axis_label(self, label_tex, edge=UP, direction=DR, **kwargs):
7373
)
7474

7575
def get_axis_label(self, label_tex, axis, edge, direction, buff=MED_SMALL_BUFF):
76-
label = TexMobject(label_tex)
76+
label = MathTex(label_tex)
7777
label.next_to(axis.get_edge_center(edge), direction, buff=buff)
7878
label.shift_onto_screen(buff=MED_SMALL_BUFF)
7979
return label

manim/mobject/matrix.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
from ..mobject.numbers import DecimalNumber
1717
from ..mobject.numbers import Integer
1818
from ..mobject.shape_matchers import BackgroundRectangle
19-
from ..mobject.svg.tex_mobject import TexMobject
20-
from ..mobject.svg.tex_mobject import TextMobject
19+
from ..mobject.svg.tex_mobject import MathTex
20+
from ..mobject.svg.tex_mobject import Tex
2121
from ..mobject.types.vectorized_mobject import VGroup
2222
from ..mobject.types.vectorized_mobject import VMobject
2323

@@ -36,7 +36,7 @@ def matrix_to_tex_string(matrix):
3636

3737

3838
def matrix_to_mobject(matrix):
39-
return TexMobject(matrix_to_tex_string(matrix))
39+
return MathTex(matrix_to_tex_string(matrix))
4040

4141

4242
def vector_coordinate_label(vector_mob, integer_labels=True, n_dim=2, color=WHITE):
@@ -68,7 +68,7 @@ class Matrix(VMobject):
6868
"bracket_v_buff": MED_SMALL_BUFF,
6969
"add_background_rectangles_to_entries": False,
7070
"include_background_rectangle": False,
71-
"element_to_mobject": TexMobject,
71+
"element_to_mobject": MathTex,
7272
"element_to_mobject_config": {},
7373
"element_alignment_corner": DR,
7474
"left_bracket": "\\big[",
@@ -111,7 +111,7 @@ def organize_mob_matrix(self, matrix):
111111
return self
112112

113113
def add_brackets(self, left="\\big[", right="\\big]"):
114-
bracket_pair = TexMobject(left, right)
114+
bracket_pair = MathTex(left, right)
115115
bracket_pair.scale(2)
116116
bracket_pair.stretch_to_fit_height(self.get_height() + 2 * self.bracket_v_buff)
117117
l_bracket, r_bracket = bracket_pair.split()
@@ -199,22 +199,22 @@ class MobjectMatrix(Matrix):
199199
def get_det_text(
200200
matrix, determinant=None, background_rect=False, initial_scale_factor=2
201201
):
202-
parens = TexMobject("(", ")")
202+
parens = MathTex("(", ")")
203203
parens.scale(initial_scale_factor)
204204
parens.stretch_to_fit_height(matrix.get_height())
205205
l_paren, r_paren = parens.split()
206206
l_paren.next_to(matrix, LEFT, buff=0.1)
207207
r_paren.next_to(matrix, RIGHT, buff=0.1)
208-
det = TextMobject("det")
208+
det = Tex("det")
209209
det.scale(initial_scale_factor)
210210
det.next_to(l_paren, LEFT, buff=0.1)
211211
if background_rect:
212212
det.add_background_rectangle()
213213
det_text = VGroup(det, l_paren, r_paren)
214214
if determinant is not None:
215-
eq = TexMobject("=")
215+
eq = MathTex("=")
216216
eq.next_to(r_paren, RIGHT, buff=0.1)
217-
result = TexMobject(str(determinant))
217+
result = MathTex(str(determinant))
218218
result.next_to(eq, RIGHT, buff=0.2)
219219
det_text.add(eq, result)
220220
return det_text

manim/mobject/numbers.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33

44
from ..constants import *
5-
from ..mobject.svg.tex_mobject import SingleStringTexMobject
5+
from ..mobject.svg.tex_mobject import SingleStringMathTex
66
from ..mobject.types.vectorized_mobject import VMobject
77

88

@@ -36,18 +36,18 @@ def __init__(self, number=0, **kwargs):
3636
else:
3737
num_string = num_string[1:]
3838

39-
self.add(*[SingleStringTexMobject(char, **kwargs) for char in num_string])
39+
self.add(*[SingleStringMathTex(char, **kwargs) for char in num_string])
4040

4141
# Add non-numerical bits
4242
if self.show_ellipsis:
43-
self.add(SingleStringTexMobject("\\dots"))
43+
self.add(SingleStringMathTex("\\dots"))
4444

4545
if num_string.startswith("-"):
4646
minus = self.submobjects[0]
4747
minus.next_to(self.submobjects[1], LEFT, buff=self.digit_to_digit_buff)
4848

4949
if self.unit is not None:
50-
self.unit_sign = SingleStringTexMobject(self.unit, color=self.color)
50+
self.unit_sign = SingleStringMathTex(self.unit, color=self.color)
5151
self.add(self.unit_sign)
5252

5353
self.arrange(buff=self.digit_to_digit_buff, aligned_edge=DOWN)
@@ -79,7 +79,11 @@ def get_formatter(self, **kwargs):
7979
config = dict(
8080
[
8181
(attr, getattr(self, attr))
82-
for attr in ["include_sign", "group_with_commas", "num_decimal_places",]
82+
for attr in [
83+
"include_sign",
84+
"group_with_commas",
85+
"num_decimal_places",
86+
]
8387
]
8488
)
8589
config.update(kwargs)

manim/mobject/probability.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from ..mobject.geometry import Rectangle
77
from ..mobject.mobject import Mobject
88
from ..mobject.svg.brace import Brace
9-
from ..mobject.svg.tex_mobject import TexMobject
10-
from ..mobject.svg.tex_mobject import TextMobject
9+
from ..mobject.svg.tex_mobject import MathTex
10+
from ..mobject.svg.tex_mobject import Tex
1111
from ..mobject.types.vectorized_mobject import VGroup
1212
from ..utils.color import color_gradient
1313
from ..utils.iterables import tuplify
@@ -29,7 +29,7 @@ class SampleSpace(Rectangle):
2929

3030
def add_title(self, title="Sample space", buff=MED_SMALL_BUFF):
3131
# TODO, should this really exist in SampleSpaceScene
32-
title_mob = TextMobject(title)
32+
title_mob = Tex(title)
3333
if title_mob.get_width() > self.get_width():
3434
title_mob.set_width(self.get_width())
3535
title_mob.next_to(self, UP, buff=buff)
@@ -86,7 +86,7 @@ def get_subdivision_braces_and_labels(
8686
if isinstance(label, Mobject):
8787
label_mob = label
8888
else:
89-
label_mob = TexMobject(label)
89+
label_mob = MathTex(label)
9090
label_mob.scale(self.default_label_scale_val)
9191
label_mob.next_to(brace, direction, buff)
9292

@@ -179,7 +179,7 @@ def add_axes(self):
179179
if self.label_y_axis:
180180
labels = VGroup()
181181
for tick, value in zip(ticks, values):
182-
label = TexMobject(str(np.round(value, 2)))
182+
label = MathTex(str(np.round(value, 2)))
183183
label.set_height(self.y_axis_label_height)
184184
label.next_to(tick, LEFT, SMALL_BUFF)
185185
labels.add(label)
@@ -202,7 +202,7 @@ def add_bars(self, values):
202202

203203
bar_labels = VGroup()
204204
for bar, name in zip(bars, self.bar_names):
205-
label = TexMobject(str(name))
205+
label = MathTex(str(name))
206206
label.scale(self.bar_label_scale_val)
207207
label.next_to(bar, DOWN, SMALL_BUFF)
208208
bar_labels.add(label)

manim/mobject/svg/brace.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
from ...constants import *
88
from ...animation.fading import FadeIn
99
from ...animation.growing import GrowFromCenter
10-
from ...mobject.svg.tex_mobject import TexMobject
11-
from ...mobject.svg.tex_mobject import TextMobject
10+
from ...mobject.svg.tex_mobject import MathTex
11+
from ...mobject.svg.tex_mobject import Tex
1212
from ...mobject.types.vectorized_mobject import VMobject
1313
from ...utils.config_ops import digest_config
1414
from ...utils.space_ops import get_norm
1515

1616

17-
class Brace(TexMobject):
17+
class Brace(MathTex):
1818
CONFIG = {
1919
"buff": 0.2,
2020
"width_multiplier": 2,
@@ -38,7 +38,7 @@ def __init__(self, mobject, direction=DOWN, **kwargs):
3838
self.max_num_quads,
3939
)
4040
tex_string = "\\underbrace{%s}" % (num_quads * "\\qquad")
41-
TexMobject.__init__(self, tex_string, **kwargs)
41+
MathTex.__init__(self, tex_string, **kwargs)
4242
self.tip_point_index = np.argmin(self.get_all_points()[:, 1])
4343
self.stretch_to_fit_width(target_width)
4444
self.shift(left - self.get_corner(UP + LEFT) + self.buff * DOWN)
@@ -56,12 +56,12 @@ def put_at_tip(self, mob, use_next_to=True, **kwargs):
5656
return self
5757

5858
def get_text(self, *text, **kwargs):
59-
text_mob = TextMobject(*text)
59+
text_mob = Tex(*text)
6060
self.put_at_tip(text_mob, **kwargs)
6161
return text_mob
6262

6363
def get_tex(self, *tex, **kwargs):
64-
tex_mob = TexMobject(*tex)
64+
tex_mob = MathTex(*tex)
6565
self.put_at_tip(tex_mob, **kwargs)
6666
return tex_mob
6767

@@ -78,7 +78,7 @@ def get_direction(self):
7878

7979
class BraceLabel(VMobject):
8080
CONFIG = {
81-
"label_constructor": TexMobject,
81+
"label_constructor": MathTex,
8282
"label_scale": 1,
8383
}
8484

@@ -126,4 +126,4 @@ def change_brace_label(self, obj, *text):
126126

127127

128128
class BraceText(BraceLabel):
129-
CONFIG = {"label_constructor": TextMobject}
129+
CONFIG = {"label_constructor": Tex}

0 commit comments

Comments
 (0)