Draw TreeNode in LaTex

这次尝试使用代码在LaTex中绘制树状图,然而过程竟然颇为曲折。于是作此小记。

tikz

最初找到了这个包,于是使用其下的tikzpicture进行树状图绘制。

\node(root) [circle, draw]{$1.00$}
    child{node(nJOM_JMP)[circle, draw, below left = of root]{0.13}
        child {node [below left  = of nJOM_JMP]{JOM}}
        child {node [below right = of nJOM_JMP]{JMP}}
    }
    child {node(nSHR_STP__CIL__STO) [circle, draw, below right = of root]{0.09}
        child {node (nSHR_STP__CIL)[circle, draw, below left = of nSHR_STP__CIL__STO]{0.04}
            child { node(nSHR_STP) [circle, draw,below left  = of nSHR_STP_CIL]{0.02}
                child {node [below left  = of nSHR_STP]{SHR}}
                child {node [below right = of nSHR_STP]{STP}}
            }
            child {node[below right  = of nSHR_STP__CIL]{CIL}}
        }
        child {node[below right = of nSHR_STP__CIL__STO] {STO}}
    }
;

感觉代码结构结合缩进可以很清晰,然而编译之后发现不同的Sibling节点竟然会重叠。(不知道作者为什么不写个BFS遍历一下......这种问题很好解决吧?)

一番搜索之后,发现解决方案是手动调整距离......这于我的初衷大相径庭(本来使用LaTex就是要自动化布局,否则还不如用Word。而且这样写真的很丑,且难以推广(因为我习惯写脚本生成表格和树的代码)。)

于是更换解决方案。

Forset

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容