2

次のシーンがあります。

from manimlib.imports import *

クラスSurds(Scene):
    def コンストラクト (自己):
        text_1 = TexMobject("\\sqrt{", "a", "\\times", "b", "} ")

        text_1.set_color_by_tex("a", BLUE)
        text_1.set_color_by_tex("b", YELLOW)

        self.play(Write(text_1))

ラテックス式を書くことを意図しています

\sqrt{a \times b}

a着色された青色と着色bされた黄色。

代わりに、奇妙なことが起こります。時間記号は黄色で、スルドの「上部」は青色で、bまったくレンダリングされません。

ここに画像の説明を入力

同じカラーリング手法が別のシーンで意図したとおりに機能したため、スルドが物事を台無しにしていることは確かです。

ここに画像の説明を入力

では、どうすればスルドと一緒に色を付けることができますか?

補足: LaTeX 式の末尾に 'b' を追加すると、最後から 2 番目のレンダリングが行われることにも気付きましたが、\sqrt間隔と色がまだオフであるため、これは実際には修正されません。

ここに画像の説明を入力

4

1 に答える 1

2

これは修正というより回避策ですが、括弧を追加すると正しくレンダリングされるように見えることに気付きました。シーンを次のようにコーディングします。

クラスSurds(Scene):
    def コンストラクト (自己):
        text_1 = TexMobject("\\sqrt{(","a","\\times","b",")}")

        text_1.set_color_by_tex("a", BLUE)
        text_1.set_color_by_tex("b", YELLOW)

        self.play(Write(text_1))

これを生成します:

ここに画像の説明を入力

理想的には、括弧を追加せずにこれを行うことができますが、そうでない場合は、これが最善の方法かもしれません。

于 2020-03-23T14:08:08.440 に答える