Con el tiempo, me gustaría hacer un dibujo dentro de un nodo de una imagen más grande. Dado que no se recomienda anidar tikzpicture
s, pensé que la pic
sintaxis proporcionaba una alternativa conveniente.
Sin embargo, pic
no parece funcionar como pensaba cuando hay nodos de borde: en la pic
imagen, el nodo de borde está donde está el final del camino en lugar de estar en el medio.
¿Alguien puede explicar qué está pasando aquí y sugerir una salida a esto?
\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}
Respuesta1
Desafortunadamente, no tengo idea de lo que está pasando, pero especificar la pos
opción para el nodo de borde resuelve la ubicación:
\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}