如何绘制并定义两个彼此相邻的直角三角形?

如何绘制并定义两个彼此相邻的直角三角形?

我的目标是画出一个完全像这样的图形在此处输入图片描述 我能做的最好的编码是:

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{tikz}
\usepackage{float}

\begin{document}

\begin{tikzpicture}      

    \draw (1, 0) to (1, 4); 
    \draw (1, 0) to (4, 0); 
    \draw (1, 4) to (4, 0);

\end{tikzpicture}

\begin{tikzpicture}

    \draw (1, 0) to (1, 3);
    \draw (1, 0) to (3, 0);
    \draw (1, 3) to (3, 0);

\end{tikzpicture}    

\end{document}

最终结果如下。我尝试输入数值和角度点,但结果看起来更糟,所以我省略了它们: 在此处输入图片描述

那么,如何才能让我的图看起来与第一个图完全一样呢?如果这有任何意义的话,我正在使用 MacBook Pro 和 TexShop 应用程序。

答案1

欢迎使用 TeX-SE!您看到的问题是由于空行告诉 TeX 开始一个新段落。所以您需要做的就是删除空行。在这里我采用了稍微不同的方法,将第二个三角形放在用于将其向右移动的范围内。这使您能够更轻松地控制三角形之间的距离及其垂直相对对齐。还请注意,将它们一气呵成地画出来并用 闭合它们也是有利的,-- cycle因为这样线条连接看起来会更好。

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{tikz}
\usepackage{float}

\begin{document}

\begin{tikzpicture}
    \draw (1, 0) node[below left]{$A$} -- node[midway,left]{$x+29$}
    (1, 4) node[above left] {$B$} 
    --  (4, 0) node[below right]{$C$} -- node[midway,below]{$21$}
    cycle; 
\begin{scope}[xshift=5cm,yshift=0.5cm]
    \draw (1, 0) node[below left]{$D$} 
    --  node[midway,left]{$12$} (1, 3)
    node[above left]{$E$} 
    -- (3, 0) node[below right]{$F$} -- node[midway,below]{$x$}
    (1,0)-- cycle   ;
\end{scope}
\end{tikzpicture}    

\end{document}

在此处输入图片描述

答案2

另一种方法是使用相对坐标tikzquotes来标记三角形中的线:

\documentclass{article}
\usepackage{amsmath,amssymb} % amsfonts is loaded by amsymb
\usepackage{tikz}
\usetikzlibrary{quotes}

\begin{document}

\begin{tikzpicture}
    \draw (0, 0) node[below] {A} to["$x+29$"] ++ (0, 4) node[above] {B}
                                 to ++ (3,-4) node[below] {C}
                                 to["$21$"] cycle;
    \draw (5,.5) node[below] {D} to["$12$"] ++ (0, 3) node[above] {E}
                                 to ++ (2,-3) node[below] {F}
                                 to["$x$"] cycle;
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容