红色矩形处于正确的位置,但我需要蓝色矩形位于红色矩形右侧 4 毫米和 8 毫米处的同一高度(而不是下方,因为我的代码是这样做的)。
我使用 ++ 有什么错误?
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{frame}[fragile]
\frametitle{Tikztezt}
\begin{figure}\flushleft
\begin{tikzpicture}
\tikzset{bar1mm/.style={shape=rectangle, fill=blue, minimum height=5mm, minimum width=1mm, anchor=west}}
\node[bar1mm, fill=red] at (10mm,10mm) {}
++(4mm,0mm) node[bar1mm] {}
++(4mm,0mm) node[bar1mm] {};
\end{tikzpicture}
\end{figure}
\end{frame}
\end{document}
我实际上需要定位很多节点,这里的代码只是一个最小可行示例,这就是我更喜欢 ++ 的原因。
答案1
第一个节点使用自己的at
机制,这样路径 pen 仍然位于(0,0)
。这是因为\node
(大致)比 短。并且每条路径在开始时\path node
都自动假定 位于。\pgfpointorigin
你可以从以下路径开始
\path (10mm,10mm) node[bar1mm,...
然后移动笔(10mm,10mm)
,其余部分随之移动。
\begin{tikzpicture}[bar1mm/.style={shape=rectangle, fill=blue, minimum height=5mm, minimum width=1mm, anchor=west}]
\node (o) at (0,0) {O};
\path (10mm,10mm)node [bar1mm, fill=red] {}
++(4mm,0mm) node[bar1mm] {}
++(4mm,0mm) node[bar1mm] {};
\end{tikzpicture}