
Я хочу разместить несколько подузлов на границе узла. Вот что у меня есть:
\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>)
для тонкой настройки.