tkz-euclide 3.06c 版本中存在的圆圈在 4.00b 版本中消失了

tkz-euclide 3.06c 版本中存在的圆圈在 4.00b 版本中消失了

和:

  • tkz-euclide.sty 2020/03/18 3.06c
  • tkz-base.sty 2020/03/18 3.06c
  • tikz.sty 2020/01/08 v3.1.5b

以下 MCE:

\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(3,0){A}
  \tkzDrawCircle(O,A)
  \tkzDefPoint(1.5,-0.6){K}
  \tkzDefPoint(-1.8,1.2){L}
  \tkzDefPoint(1.2,2.25){M}
  \tkzClipCircle(O,A)
  \tkzDrawCircle[orthogonal through=K and L](O,A)
  \tkzDrawCircle[orthogonal through=L and M](O,A)
  \tkzDrawPoints[fill=red](O,A,K,L,M)
  \tkzLabelPoints[left](O,A,K,L,M)
\end{tikzpicture}
\end{document}

用于给予:

在此处输入图片描述

和 :

  • tkz-euclide.sty 2022/01/04 4.00
  • tikz.sty 2021/05/15 v3.1.9a

两个圆圈:

\tkzDrawCircle[orthogonal through=K and L](O,A)
\tkzDrawCircle[orthogonal through=L and M](O,A)

已经消失:

在此处输入图片描述

并且.log不包含任何错误或警告。

如何恢复以前的行为?

答案1

这是一个让它们重新出现的方法

\documentclass{article}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
  \tkzDefPoint(0,0){O}
  \tkzDefPoint(3,0){A}
  \tkzDrawCircle(O,A)
  \tkzDefPoint(1.5,-0.6){K}
  \tkzDefPoint(-1.8,1.2){L}
  \tkzDefPoint(1.2,2.25){M}
  \tkzClipCircle(O,A)
  \tkzDefCircle[orthogonal through=K and L](O,A) \tkzGetPoint{C1}
  \tkzDrawCircle[orthogonal through=L and M](O,A) \tkzGetPoint{C2}
  \tkzDrawCircles(C1,K C2,L)
  \tkzDrawPoints[fill=red](O,A,K,L,M)
  \tkzLabelPoints[left](O,A,K,L,M)
\end{tikzpicture}
\end{document}

这当然是个错误。我曾警告过我,我无法独自测试所有内容。如果删除剪辑,dimension too large则会出现错误。所以我忘记将计算从 pt 转换为 cm。错误的行是 : ,\tkz@@CalcLength(tkzPointResult,#3){tkzLengthResult}而这应该是\tkz@@CalcLengthcm(tkzPointResult,#3){tkzLengthResult}

我没有看到过这个问题,因为我总是喜欢先使用定义宏……

在此处输入图片描述

相关内容