最終,我想在更大的圖片的節點內畫一張圖片。由於不建議嵌套tikzpicture
s,我認為該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}