这本质上是同一个问题这,这或者这,但在所有三个问题中,定义新坐标的图片都位于 tikzpicture 的 (0, 0)。 就我而言,事实并非如此。
梅威瑟:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit,calc}
\pagestyle{empty}
\usepackage{parskip}
\begin{document}
\begin{tikzpicture}
\coordinate (TL) at (1+.3*rand,4+.3*rand);
\coordinate (BR) at (6+.3*rand,1+.3*rand);
\node [draw,fit=(TL) (BR)]{Background};
\begin{scope}
\node at (5,5) {X};
\end{scope}
\end{tikzpicture}
\end{document}
举例来说,如何在节点内设置坐标系 (0..10),以便 (5,5) 位于框的中间?
答案1
只需要平移到坐标系的西南角即可。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit,calc}
\pagestyle{empty}
\usepackage{parskip}
\begin{document}
\begin{tikzpicture}
\coordinate (TL) at (1+.3*rand,4+.3*rand);
\coordinate (BR) at (6+.3*rand,1+.3*rand);
\node [draw,fit=(TL) (BR)] (fit) {Background};
\begin{scope}[shift={(fit.south west)},
x={($0.1*($(fit.south east)-(fit.south west)$)$)},
y={($0.1*($(fit.north west)-(fit.south west)$)$)}]
\node at (5,5) {X};
\end{scope}
\end{tikzpicture}
\end{document}