我定义了两个变量 x 和 y。如果我想定义一个新坐标,我可以轻松操作它们。在这种情况下,(A) 的输出将是 (-1,3)。但是,如果我想绘制一个椭圆,半径的输出始终是最后一个变量,而不是它们的总和。因此,我得到的不是半径 x+y=3,而是半径 y=2。
\newcommand\x{1}
\newcommand\y{2}
\coordinate (A) at (\x-\y,\x+\y);
\draw (0,0) arc(90:180:\x+\y cm and \x+\y cm);
答案1
您可以使用\pgfmathsetmacro
它来正确地进行此类表达式的数学运算。\pgfmathsetlengthmacro
另外还处理单位。示例:
\begin{tikzpicture}
\pgfmathsetlengthmacro\x{1.5cm}
\pgfmathsetlengthmacro\y{0.2cm}
\draw[line width=1pt] (0,0) arc(90:180: {\x + \y} and {\x + \y} );
\end{tikzpicture}