我正在尝试使用宏构建树,但没有得到想要的结果。这是一个最小的示例:

\ documentclass {article}
\ usepackage {tikz}
\ usetikzlibrary {trees}

\ newcommand {\ LeafNode} [1] {%
子{node {#1}}
}

\ newcommand {\ InnerNode} [3] {%
子{节点{#3}
#1
#2
}
}

\ begin {document}

\ begin {tikzpicture}
\ node(A){A}
\ LeafNode {B}
\ LeafNode {C}
;
\ end {tikzpicture}%
\ hspace {2cm}%
\ begin {tikzpicture}
\ node(A){A}
\ InnerNode {\ LeafNode {D}} {\ LeafNode {E}} {B}
\ LeafNode {C}
;
\ end {tikzpicture}

\ end {document}


我期望这会产生两棵树:

A A
///
B C B C
/ \
E


但我得到:

一个
|

| |
D
| |



我是否缺少某些东西或没有办法做?

顺便说一句,如果我在根节点上省略了标签,则会收到PGF错误:

!程序包pgf错误:未知的形状是已知的。


-TSF

最佳答案

这不是您问题的直接答案,但是您可以签出tikz-qtree package。它为创建树提供了更简单的语法。

关于latex - tikz的树木和宏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2008552/

10-11 19:20