minimum size
会先经过 \pgfmathparse
解析,得到的是一个不带单位的数值
即当你键入 minimum size = sqrt(3)
得到的是 minimum size = 1.732...
, 默认单位是 pt
, 所以会得到你当前的结果
最简单的解决方案是 minimum size = sqrt(3) * 1cm
当然还可以自己定义一个 operator
,
\pgfmathdeclarefunction{cm}{1}{%
\pgfmathparse{#1 * 28.45274}%
}
\pgfmathdeclareoperator{cm}{cm}{2}{postfix}{250}
再使用 minimum size = sqrt(3)cm
\documentclass[tikz,border=2pt]{standalone}
\pgfmathdeclarefunction{cm}{1}{%
\pgfmathparse{#1 * 28.45274}%
}
\pgfmathdeclareoperator{cm}{cm}{2}{postfix}{250}
\begin{document}
\begin{tikzpicture}
\draw [gray!70] (0cm,0cm) grid (2cm,2cm);
\node at (0,0) [minimum size={1.7cm},draw,circle] {};
\node at (0,0) [minimum size= sqrt(3)cm,draw=red,circle] {};
\end{tikzpicture}
\end{document}
问 如何画一个直径为根号三的圆形空node?