我用 tikz 画了这个三角形,
\begin{tikzpicture}[scale=3]
\draw (0.6,0.8) coordinate(A) node[above]{z} -- (-0.87,-0.5) coordinate(B) node[below]{x}--(0.87,-0.5) coordinate(C) node[below]{y}--(0.6,0.8) coordinate(A) node[above]{z};
\draw (0,-0.5) coordinate(D) node[below]{m};
\draw (D)--(A);
\end{tikzpicture}
但我想在 [m,y] 和 [x,m] 上添加符号 //
该怎么办呢请问谢谢。
答案1
有专门的软件包可用于此类用途tkz-euclide
,但构建您自己的软件包也非常容易。
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[scale=3,pics/par/.style={code={
\draw (-0.2,-0.3) -- ++ (0.2,0.6) (0,-0.3) -- ++ (0.2,0.6);}}]
\draw (0.6,0.8) coordinate(A) node[above]{z} -- (-0.87,-0.5) coordinate(B)
node[below]{x}--(0.87,-0.5) coordinate(C) node[below]{y}--(0.6,0.8)
coordinate(A) node[above]{z};
\draw (0,-0.5) coordinate(D) node[below]{m};
\path (B) -- pic {par} (D) -- pic {par}(C);
\draw (D)--(A);
\end{tikzpicture}
\end{document}
您可以将代码缩短为
\documentclass[tikz,border=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[scale=3,pics/par/.style={code={
\draw (-0.2,-0.3) -- ++ (0.2,0.6) (0,-0.3) -- ++ (0.2,0.6);}}]
\draw (0.87,-0.5) coordinate[label=below:$y$](y)
-- (0.6,0.8) coordinate[label=above:$z$](z)
-- (-0.87,-0.5) coordinate[label=below:$x$](x)
-- coordinate[label=below:$m$] (m) cycle pic[pos=0.25]{par} pic[pos=0.75]{par}
(m) -- (z);
\end{tikzpicture}
\end{document}
其中坐标的名称由其标签表示。
不用说,除了上面提到的,还有大量的替代品,tkz-euclide
比如decorations.markings
等等。这篇文章的重点是,你不一定需要普通 Ti 以外的东西钾Z,图片是一个非常简单的选项,可以轻松自定义。您也可以使用倾斜键sloped
,但这里不需要。
答案2
薛定谔的猫是对的。tkz-euclide
是一个专门用于几何欧几里得绘图的包。更新:我创建了几个不同的标记,s|| 给出了良好的结果。
\documentclass[border=.25cm]{standalone}
\usepackage{tkz-euclide}
\begin{document}
\begin{tikzpicture}
\tkzDefPoints{0/0/A,6/0/B,2/5/C}
\tkzDrawPolygon(A,B,C)
\tkzDefMidPoint(A,B)\tkzGetPoint{M}
\tkzDrawSegment(C,M)
\tkzMarkSegments[mark=s||](A,M M,B)
\tkzLabelPoints(A,B,M)
\tkzLabelPoints[above](C)
\end{tikzpicture}
\end{document}