因此我通读了文档tkz-euclide
,发现在示例 4.2.2 和 4.2.3 中以类似的方式使用了两个不同的命令。
\tkzDefShiftPoint
\tkzDefShiftPointCoord
这两个命令似乎都采用相同类型的参数,并且它们的区别似乎没有在文档中解释。
我复制了第二个代码并切换了命令,寻找任何输出差异。
% Original code from doc.
\begin{tikzpicture}[scale=1]
\tkzDefPoint(0,0){A}
\tkzDefPoint(30:3){B}
\tkzDefShiftPointCoord[B](10:2){C}
\tkzDefShiftPointCoord[A](10:2){D}
\tkzDrawPolygon(A,...,D)
\tkzDrawPoints(A,...,D)
\end{tikzpicture}
% Edited code with \tkzDefShiftPoint used instead.
\begin{tikzpicture}[scale=1]
\tkzDefPoint(0,0){A}
\tkzDefPoint(30:3){B}
\tkzDefShiftPoint[B](10:2){C}
\tkzDefShiftPoint[A](10:2){D}
\tkzDrawPolygon(A,...,D)
\tkzDrawPoints(A,...,D)
\end{tikzpicture}
但两者的输出tikzpicture
几乎相同。
我可以知道这两个命令之间有什么区别吗?
答案1
有一点小区别。tkzDefShiftPointCoord
您可以使用坐标,但无法使用tkzDefShiftPoint
。
\documentclass{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}[rotate=15]
\tkzDefPoint(2,3){A}
\tkzDefShiftPointCoord[2,3](15:5){B}
\tkzDefShiftPointCoord[2,3](-15:5){C}
\tkzDrawSegments(A,B B,C C,A)
\tkzDrawPoints(A,B,C)
\tkzLabelPoints(B,C)
\tkzLabelPoint[left](A){$A$}
\end{tikzpicture}
\end{document}