Latex 子图片中的节点对齐不正确
我正在使用tikz在latex文档中排版一个图表 我有一个由“网格图”组成的网格,每个网格图作为一个单独的tikz图片绘制,然后作为节点排列到网格中 我想在每个网格图的右下角正方形中绘制一个圆节点(最终将包含一个标签) 我对每个网格图使用完全相同的代码,但每次在不同的位置绘制圆 是我做错了什么,还是这是tikz的一个bug?特别是,我的方法是否允许包含子图片/标准/良好实践 请参阅以获取图像Latex 子图片中的节点对齐不正确,latex,tikz,pgf,Latex,Tikz,Pgf,我正在使用tikz在latex文档中排版一个图表 我有一个由“网格图”组成的网格,每个网格图作为一个单独的tikz图片绘制,然后作为节点排列到网格中 我想在每个网格图的右下角正方形中绘制一个圆节点(最终将包含一个标签) 我对每个网格图使用完全相同的代码,但每次在不同的位置绘制圆 是我做错了什么,还是这是tikz的一个bug?特别是,我的方法是否允许包含子图片/标准/良好实践 请参阅以获取图像 \documentclass{article} \usepackage{tikz} \usetikzli
\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}
我不确定为什么在您的示例中这些圆没有对齐,但这可能与使用的
的相对定位有关
我不知道这是否是最佳实践,但您可以使用foreach
自动化网格构建:
\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}
我不确定为什么在您的示例中这些圆没有对齐,但这可能与使用的进行相对定位有关
我不知道这是否是最佳实践,但您可以使用foreach
自动化网格构建:
\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}
谢谢。是“of”引起了这种行为。当我将上面的每个节点更改为绝对定位(即(3,0)处的节点(b))时,即使仍包含tikz子图片,图像也能完美地渲染。(每个网格图最终都会有所不同,箭头将它们连接起来,这是我在使用\foreach循环之前首先采用的方法。)谢谢。是“of”引起了这种行为。当我将上面的每个节点更改为绝对定位(即(3,0)处的节点(b))时,即使仍包含tikz子图片,图像也能完美地渲染。(每个网格图最终都会有所不同,箭头将它们连接起来,这是我在使用\foreach循环之前首先采用的方法。)我不知道可以嵌套tikzpictures。谢谢你的例子!我不知道有人能把tikzpictures藏起来。谢谢你的例子!