결국에는 더 큰 그림의 노드 내부에 그림을 그리고 싶다. 중첩 은 권장되지 않으므로 구문이 편리한 대안을 제공한다고 tikzpicture
생각했습니다 .pic
그런데 pic
엣지 노드가 있으면 생각처럼 작동하지 않는 것 같습니다. 그림에서 pic
엣지 노드는 경로 사이가 아닌 경로의 끝 부분에 있습니다.
누군가 여기서 무슨 일이 일어나고 있는지 설명하고 이 문제에서 벗어날 수 있는 방법을 제안할 수 있습니까?
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{test/.pic={
\node (a) at (0,0) {a};
\node (b) at (3,0) {b};
\draw (a)--node{edge node} (b);
}
}
\begin{tikzpicture}
\pic {test};
\end{tikzpicture}
\begin{tikzpicture}
\node (a) at (0,0) {a};
\node (b) at (3,0) {b};
\draw (a)--node{edge node} (b);
\end{tikzpicture}
\end{document}
답변1
불행히도 무슨 일이 일어나고 있는지 전혀 모르지만 pos
가장자리 노드에 옵션을 지정하면 배치가 해결됩니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{test/.pic={
\node (a) at (0,0) {a};
\node (b) at (3,0) {b};
\draw (a)--node[pos=0.5]{edge node} (b);
}
}
\begin{tikzpicture}
\pic {test};
\end{tikzpicture}
\begin{tikzpicture}
\node (a) at (0,0) {a};
\node (b) at (3,0) {b};
\draw (a)--node{edge node} (b);
\end{tikzpicture}
\end{document}