Проблемы окраски LaTeX Surd в Маниме - PullRequest
0 голосов
/ 23 марта 2020

У меня есть следующая сцена:

from manimlib.imports import *

class Surds(Scene):
    def construct(self):
        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 вообще не отображается:

enter image description here

Я уверен, что Сурд все испортил, так как тот же метод окраски работал, как и предполагалось в другой сцене:

enter image description here

Так как я могу получить окраску для работы с surd?

Примечание: Я также заметил, что добавление дополнительного 'b' в конце выражения LaTeX делает предпоследний рендер, но это не так ' Это действительно исправление, так как интервал и окраска \sqrt по-прежнему отключены:

enter image description here

1 Ответ

0 голосов
/ 23 марта 2020

Хотя это скорее обходной путь, чем исправление, я заметил, что добавление круглых скобок, кажется, заставляет вещи отображаться правильно. Кодирование сцены выглядит так:

class Surds(Scene):
    def construct(self):
        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))

Производит это:

enter image description here

В идеале это было бы возможно сделать без дополнительных скобок , но если нет, это может быть лучшее, что вы можете сделать.

...