为什么无法编译?错误在哪里?

为什么无法编译?错误在哪里?

我开始使用 Euclide 包。我想画一个五边形的正多边形。为什么编译不通过?错误在哪里?

\documentclass[border=12pt]{standalone}

\usepackage{tkz-euclide}

\usetkzobj{all}

\begin{document}

\begin{tikzpicture}[scale=.8]
\tkzDefPoint(0,0){O} 
\tkzDefPoint(5,0){A}
\tkzDrawCircle(O,A)
\foreach \i in {0,...4,}{
\tkzDefPointBy[rotation = center O angle 72+72*\i](A) \tkzGetPoint{a\i}
}
\tkzDrawPolygon[color=red!50!Gold,ultra thick]{a0,a1,a2,a3,a4}
\tkzDrawPoint[color=red!50!Gold,size=10]{a0,a1,a2,a4}
\end{tikzpicture}

\end{document}

答案1

以下是错误列表:

  1. 您输入了错误\foreach的值,其中0,...4,当然是错误的,应该替换为0,...,4
  2. 命令\tkzDrawPolygon需要\tkzDrawPoint普通括号,而不是花括号。
  3. 当类似命令\tkzDrawPoint列出多个坐标时,该命令将变为“复数”,因此您有\tkzDrawPoints
  4. 颜色Gold未定义,因此需要添加\usepackage[svgnames]{xcolor}

输出

在此处输入图片描述

代码

\documentclass[border=12pt]{standalone}
\usepackage[svgnames]{xcolor}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
\begin{tikzpicture}[scale=.8]
\tkzDefPoint(0,0){O} 
\tkzDefPoint(5,0){A}

\tkzDrawCircle(O,A)

\foreach \i in {0,...,4}{%
    \tkzDefPointBy[rotation=center O angle 72+72*\i](A) \tkzGetPoint{a\i}
}
\tkzDrawPolygon[color=red!50!Gold,ultra thick](a0,a1,a2,a3,a4)
\tkzDrawPoints[color=red!50!Gold,size=10](a0,a1,a2,a4)
\end{tikzpicture}
\end{document}

相关内容