allineamento non corretto di nodi in immagini secondarie
Domanda
Sto usando tikz per comporre un diagramma in un documento lattice.
Ho una griglia di 'grid-diagrammi', con ogni griglia diagramma disegnato come immagine tikz separata e quindi disposti in rete come nodi.
voglio richiamare un nodo cerchio (che eventualmente contenere un'etichetta) in basso a destra piazzare mano di ciascuna griglia-diagramma.
Io uso esattamente lo stesso codice per ogni griglia diagramma, ma il cerchio è disegnato in un posto diverso ogni volta.
sto facendo qualcosa di sbagliato, o si tratta di un bug in tikz? In particolare, è il mio approccio di includere sotto-immagini permessi / buona pratica / norma?
qui per un'immagine.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\usepackage{verbatim}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5pt}%
\begin{document}
\begin{tikzpicture}[scale=1, node distance = .5cm]
\node (a) at (0,0) {
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.25, -1.25) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\node[right=of a] (b) {
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.25, -1.25) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\node[below=of a] (c) {
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.25, -1.25) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\node[right=of b] (d){
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.2, -1.5) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\node[below=of b] (e){
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.25, -1.25) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\node[below = of c] (f) {
\begin{tikzpicture}
\draw[step=.5cm,gray,very thin] (-0.1,-1.6) grid (1.6, 0.1);
\node at (1.25, -1.25) [fill=white, shape=circle, draw=black] {};
\end{tikzpicture}
};
\end{tikzpicture}
\end{document}
Soluzione
Io non sono sicuro perché i cerchi non sono allineate nel tuo esempio, ma può avere a che fare con il posizionamento relativo utilizzando of
.
Non so se questa è una pratica migliore, ma è possibile utilizzare foreach
per automatizzare la griglia di costruzione:
\begin{document}
\begin{tikzpicture}[scale=1]
\foreach \x in {-0.01cm,2.99cm,5.99cm}
\foreach \y in {-0.01cm,2.99cm,5.99cm} {
\draw[step=.5cm,gray,thin] (\x,\y) grid +(1.52cm,1.52cm);
\draw[fill=white, draw=black] (\x,\y) +(1.255cm,0.25cm) circle (0.2cm);
}
\end{tikzpicture}
\end{document}