为什么这段代码会生成一个矩形而不是正方形?
\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[scale=rnd] (0,0) rectangle (1,1);
\end{tikzpicture}
\end{document}
答案1
每个 (1,1) 坐标都与 的值相乘scale
。因此,有两个值x
和y
将与 相乘rnd
。当然,对于和 来说rnd
不相等。x
y
要用作rnd
选项,scale
您可以执行以下操作:
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathparse{rnd}
\draw[scale=\pgfmathresult] (0,0) rectangle (1,1);
\end{tikzpicture}
\begin{tikzpicture}
\draw[scale=1] (0,0) rectangle (1,1);
\end{tikzpicture}
\end{document}