在 tikz-euclide 中使用 \pgfmathsetmacroget 会出现错误“!尺寸太大。\pgfmath@x”

在 tikz-euclide 中使用 \pgfmathsetmacroget 会出现错误“!尺寸太大。\pgfmath@x”

更新:现在在 tkz-euclide 中,默认单位是 cm。

我想做一些计算,例如,a=b*c/d其中,是 tikz-euclide 中某些线段的长度。我尝试了,但得到了“尺寸太大”的错误,尽管在中,似乎仍然可以正确生成图片。bcd\pgfmathsetmacroget--interaction=nonstopmode

\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
  \tkzDefPoint(0,0){B}
  \tkzDefPoint(4,0){C}
  \tkzDefPoint(1,5){A}
  \tkzDefPoint(3,5){D}
  \tkzDrawPoints(A,B,C,D)

  \tkzLabelPoints[above left](A)
  \tkzLabelPoints[above right](D)
  \tkzLabelPoints[below left](B)
  \tkzLabelPoints[below right](C)

  \tkzDrawPolygon(A,B,C,D)

  \tkzDefPointOnLine[pos=.8](B,A) \tkzGetPoint{E} \tkzLabelPoints[above left](E)
  \tkzDrawSegment(A,C)
  \tkzCalcLength(B,E) \tkzGetLength{rBE}
  \tkzCalcLength(B,A) \tkzGetLength{rBA}
  \tkzCalcLength(C,A) \tkzGetLength{rCA}
  \pgfmathsetmacro{\rCF}{\rBE*\rBA/\rCA}
  \tkzInterLC[R](C,A)(C,\rCF pt)\tkzGetSecondPoint{F}\tkzLabelPoints[below left](F)
  \tkzDrawPoints(E,F)
\end{tikzpicture}
\end{document} 

相关内容