0

我对编码非常陌生,主要是在尝试自学。我开始学习 manim 的基础知识,但在故障排除方面仍然遇到困难。我一直在尝试让 manim 绘制 tikz 图表,并且我花了数小时挖掘似乎类似的问题。终于可以画图了,但是都乱七八糟了,网上也找不到解决办法。

我正在尝试做一个树形图。它应该看起来像这样(来自 LaTeX):

在此处输入图像描述

我为 manim 输入的代码是:

from manimlib.imports import * 

class TikzMobject(TextMobject):
    CONFIG = {
    "stroke_width": 3,
    "fill_opacity": 0,
    "stroke_opacity": 1,
    }

    class Tree(Scene):
        def construct(self):
        
            
            TreeDiagram = TikzMobject(r"""
            \begin{tikzpicture}[level distance=5em,level 1/.style={sibling distance=5cm},level 2/.style={sibling distance=2.5cm},level 3/.style={sibling distance=1cm},every node/.style={shape=rectangle,rounded corners,draw,align=center}]]
            \node {Start}
            child { node {$s_1$} 
            child { node {$p_1$}
            child { node{$f_1$}}
            child { node{$f_2$}}}
            child { node {$p_2$}
            child { node{$f_1$}}
            child { node{$f_2$}}}}
            child { node {$s_2$} 
            child { node {$p_1$}
            child { node {$f_1$}}
            child { node {$f_2$}}}
            child { node {$p_2$}
            child { node {$f_1$}}
            child { node {$f_2$}}}}
            child { node {$s_3$}
            child { node {$p_1$}
            child { node {$f_1$}}
            child { node {$f_2$}}}
            child { node {$p_2$}
            child { node {$f_1$}}
            child { node {$f_2$}}}};
            \end{tikzpicture}
            """)
            TreeDiagram.scale(0.3)
            TreeDiagram.rotate(TAU/2)
    
            self.play(FadeIn(TreeDiagram))

但它产生的是这样的:

在此处输入图像描述

请帮忙!我非常感谢!

4

1 回答 1

0

这是因为 Manim 会从 SVG 中删除样式(manim 将 .tex 文件编译为 dvi,然后将 dvi 转换为 svg),因此您不能依赖于 Manim 的 LaTeX 样式,您必须手动完成或创建一个类靠自己。

于 2020-08-20T05:31:24.987 回答