TikZ' Pic 구문이 에지 노드에서 작동하지 않습니다

TikZ' Pic 구문이 에지 노드에서 작동하지 않습니다

결국에는 더 큰 그림의 노드 내부에 그림을 그리고 싶다. 중첩 은 권장되지 않으므로 구문이 편리한 대안을 제공한다고 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}

여기에 이미지 설명을 입력하세요

관련 정보