如何使用 tkz-euclide 添加正方形外的长度

如何使用 tkz-euclide 添加正方形外的长度

这就是我想要实现的目标。

在此处输入图片描述

这就是我目前得到的。

在此处输入图片描述

我不确定如何在顶部添加长度 x。

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}

      \begin{tikzpicture}
        \tkzDefPoint(2,0){A}
        \tkzDefPoint(4,2){B}
        \tkzDefPoint(2,4){C}
        \tkzDefPoint(0,2){D}
        \tkzDefPoint(2,2){E}
        \tkzDrawPolygon[fill=gray!10](A,B,C,D)
        \tkzDrawSegment[dashed](D,B)
        \tkzDrawSegment[dashed](C,A)
        \tkzLabelSegment[left=4pt](E,C){$7$}
        \tkzLabelSegment[below=4pt](B,A){$10$}
        \tkzMarkSegments[mark=|,size=4pt](A,B B,C C,D A,D)
        \tkzMarkRightAngle(C,E,B)
        \foreach \Nodo in {B,D}
        \draw ([yshift=9pt]\Nodo) -- ([yshift=15pt]\Nodo);
        \draw[<->,>=latex] ([yshift=12pt]A) -- node[fill=white] {$x$} ([yshift=12pt]B);
     \end{tikzpicture}

\end{document}

答案1

可以使用以下方法绘制 B 和 D 的垂直规则

    \foreach \Nodo in {B,D}
      \draw[help lines] ([yshift=9pt]\Nodo) -- ++(0,2.2cm);

可以使用 acotation 规则(不确定英文名称)绘制

    \draw[<->,>=latex] 
      ([yshift=2.3cm]B) -- node[fill=white] {$x$} ([yshift=2.3cm]D);

完整示例:

\documentclass{article}
\usepackage{tkz-euclide}
\usetkzobj{all}

\begin{document}
      \begin{tikzpicture}
        \tkzDefPoint(2,0){A}
        \tkzDefPoint(4,2){B}
        \tkzDefPoint(2,4){C}
        \tkzDefPoint(0,2){D}
        \tkzDefPoint(2,2){E}
        \tkzDrawPolygon[fill=gray!10](A,B,C,D)
        \tkzDrawSegment[dashed](D,B)
        \tkzDrawSegment[dashed](C,A)
        \tkzLabelSegment[below left=2pt](E,C){$7$}
        \tkzLabelSegment[below right=2pt](B,A){$10$}
        \tkzMarkSegments[mark=|,size=4pt](A,B B,C C,D A,D)
        \tkzMarkRightAngle(C,E,B)
        \foreach \Nodo in {B,D}
          \draw[help lines] ([yshift=9pt]\Nodo) -- ++(0,2.2cm);
        \draw[<->,>=latex] 
          ([yshift=2.3cm]B) -- node[fill=white] {$x$} ([yshift=2.3cm]D);
        \end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容