使用 TikZ 排列树的边缘

使用 TikZ 排列树的边缘

我正在用 TikZ 画树,

\begin{tikzpicture}
    \node {$C$}
        child[missing]
 child{node {$i$}
 child[missing]
 child{node {$j$}}
    };
\end{tikzpicture}

产生的边线没有按照我的要求对齐。如果我在节点周围画圆圈,一条边线会从父节点圆圈的底部中心延伸到子节点圆圈的顶部中心,使手臂看起来参差不齐。我试过移动锚点,但效果并不理想。我想要的效果似乎在 pgf 手册的示例中自动出现(请参阅第 192 页的最终树示例)。我没做什么?

答案1

不太清楚这里发生了什么。您是否更改了默认的父锚点和子锚点?

以下列出 3 个示例:

\begin{tikzpicture}[parent anchor=south,child anchor=north,every  node/.style={circle,draw}]
\node {$C1$}
    child[missing]
    child{node {$i$}
        child[missing]
        child{node {$j$}}
        };
\end{tikzpicture}
\begin{tikzpicture}[parent anchor=center,child anchor=center,every  node/.style={circle,draw}]
\node {$C2$}
    child[missing]
    child{node {$i$}
        child[missing]
        child{node {$j$}}
        };
\end{tikzpicture}
\begin{tikzpicture}[every node/.style={circle,draw}]
\node {$C3$}
    child[missing]
    child{node {$i$}
        child[missing]
        child{node {$j$}}
        };
\end{tikzpicture}

其生产成果为:

三棵树

现在,您的示例(我的 C3)似乎是最好的;您正在寻找的是 C1 吗?

答案2

树木在森林中生长良好……

\documentclass[tikz,a4paper,border=5pt]{standalone}
\usepackage{forest}

\begin{document}

\begin{forest}
  for tree={
    math content,
    circle,
    draw
  }
  [C3
    [, phantom]
    [i
      [, phantom]
      [j
      ]
    ]
  ]
\end{forest}

\end{document}

<code>森林</code> 树

相关内容