最終的には、より大きな画像のノード内に画像を描画したいと思います。 s のネストは推奨されていないため、この構文が便利な代替手段になる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}