省略号边界上的子节点

省略号边界上的子节点

我想在节点的边界上放置一些子节点。这是我的:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}

  \begin{tikzpicture}
    \node[rectangle, draw, inner sep=10pt] (Foo) {Foo};
    \node[rectangle, draw, fill=white, left=3pt of Foo.south] {\tiny S};
    \node[rectangle, draw, fill=white, right=3pt of Foo.south] {\tiny T};
  \end{tikzpicture}
\end{document}

得出的结论是:

但现在我想使用椭圆作为形状:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning,shapes}

\begin{document}

  \begin{tikzpicture}
    \node[ellipse, draw, inner sep=10pt] (Foo) {Foo};
    \node[ellipse, draw, fill=white, left=3pt of Foo.south] {\tiny S};
    \node[ellipse, draw, fill=white, right=3pt of Foo.south] {\tiny T};
  \end{tikzpicture}
\end{document}

而且,不出所料,子节点不再放置在边界上,而是位于稍下方(但它们仍然大到足以重叠基节点):

我该如何将这些子节点准确地放置在基节点的边界上?

答案1

您可以将它们明确地放在形状边框上,而不是定位,因为您希望它们像这样:

\node[ellipse, draw, fill=white] at (Foo.-70) {\tiny T};

就足够了。如果需要,你可以使用shift=(<x amount>,<y amount>)它进行微调。

相关内容