最后,我想在更大图片的节点内绘制图片。由于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}