TikZ 从 3.0.0 版本开始最终启用了弧的节点。
但是,我遇到了一个问题。有时弧的角度是同时计算的,就像这样:\draw (60:1) arc (30+30:0:1);
这本身工作正常,但当与节点命令结合使用时,会出现错误
! Illegal unit of measure (pt inserted).
<to be read again>
+
有没有什么办法可以解决这个问题?
梅威瑟:
\documentclass[12pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[>=stealth,auto]
\draw (60:3) -- (0,0) -- (0:3);
\draw (60:1) arc (30+30:0:1);
\draw (60:1) arc (30+30:0:1) node[midway] {$\beta$};
\end{tikzpicture}
\end{document}
答案1
它适用于
\draw (0:1) arc (0:30+30:1) node[midway,right] {$\beta$};
我不明白为什么它不能与
\draw (60:1) arc (30+30:0:1) node[midway] {$\beta$};
目前。
代码:
\documentclass[12pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[>=stealth,auto]
\draw (60:3) -- (0,0) -- (0:3);
%\draw (60:1) arc (30+30:0:1);
\draw (0:1) arc (0:30+30:1) node[midway,right] {$\beta$};
\end{tikzpicture}
\end{document}
请注意,节点绘制在中点的右侧。要更清楚地看到,请draw
向节点添加选项。
这里有一些作弊的方法。你可以在外面计算加法。其中一种方法如下:
\documentclass[12pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[>=stealth,auto]
\draw (60:3) -- (0,0) -- (0:3);
\foreach \ang [evaluate=\ang as \Ang using int(\ang+30)] in {30} {
\draw (\Ang:1) arc (\Ang:0:1) node[midway] {$\beta$};
}
\end{tikzpicture}
\end{document}