tkz-euclide:如何修改 \tkzMarkRightAngle[german] 中点的大小和颜色?

tkz-euclide:如何修改 \tkzMarkRightAngle[german] 中点的大小和颜色?

\tkzMarkRightAngle[german]为了标记直角,我使用了中的宏tkz-euclide

我如何修改点的大小和颜色?

未缩放的屏幕截图

在此处输入图片描述

带缩放功能的屏幕截图

在此处输入图片描述

平均能量损失

begin{tikzpicture}[rotate=-90]
\tkzDefPoint(0,1){A}
\tkzDefPoint(2,4){C}
\tkzDefPointWith[orthogonal normed,K=7](C,A)
\tkzGetPoint{B}
\tkzDrawSegment[green!60!black](A,C)
\tkzDrawSegment[green!60!black](C,B)
\tkzDrawSegment[green!60!black](B,A)
\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
\tkzGetPoint{P}
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[above](C){$C$}
\tkzLabelPoint[left](P){$P$}
\tkzLabelSegment[auto](B,A){$c$}
\tkzLabelSegment[auto,swap](B,C){$a$}
\tkzLabelSegment[auto,swap](C,A){$b$}
\tkzMarkAngle[size=1cm,color=cyan,mark=|](C,B,A)
\tkzMarkAngle[size=1cm,color=cyan,mark=|](A,C,P)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](P,C,B)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](B,A,C)
\tkzMarkRightAngle[german](A,C,B)
\tkzMarkRightAngle[german](B,P,C)
\end{tikzpicture}

答案1

对于点大小,有一个未记录的键dotsize可以提供给\tkzMarkRightAngle,其默认值为3pt

对于颜色,没有键,但您可以使用 添加自己的键\pgfkeys。为了使用键,需要修补用于绘制角度的代码,这可以使用包来完成xpatch。该\tkzMarkRightAngle命令在内部调用\tkz@RightAngle命令,因此需要修补该命令。由于命令名称包含一个符号,因此需要用和包围@修补和引入内部键的代码(为了保持一致性,我将其命名为\tkz@ra@dotsize,因此也包含) 。@\makeatletter\makeatother

梅威瑟:

\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{xpatch}
\makeatletter
\pgfkeys{/tkzrightangle/.cd,
    dotcolor/.store in = \tkz@ra@dotcolor, % set internal key
    dotcolor = black} % default value
% insert color=\tkz@ra@dotcolor in original drawing command
\xpatchcmd{\tkz@RightAngle}{node[fill,circle,minimum size=\tkz@dotsize,inner sep=0 pt]}{node[fill,color=\tkz@ra@dotcolor,circle,minimum size=\tkz@dotsize,inner sep=0 pt]}{}{}
\makeatother

\begin{document}
\begin{tikzpicture}[rotate=-90]
\tkzDefPoint(0,1){A}
\tkzDefPoint(2,4){C}
\tkzDefPointWith[orthogonal normed,K=7](C,A)
\tkzGetPoint{B}
\tkzDrawSegment[green!60!black](A,C)
\tkzDrawSegment[green!60!black](C,B)
\tkzDrawSegment[green!60!black](B,A)
\tkzDrawLine[altitude,dashed,color=magenta](B,C,A)
\tkzGetPoint{P}
\tkzLabelPoint[left](A){$A$}
\tkzLabelPoint[right](B){$B$}
\tkzLabelPoint[above](C){$C$}
\tkzLabelPoint[left](P){$P$}
\tkzLabelSegment[auto](B,A){$c$}
\tkzLabelSegment[auto,swap](B,C){$a$}
\tkzLabelSegment[auto,swap](C,A){$b$}
\tkzMarkAngle[size=1cm,color=cyan,mark=|](C,B,A)
\tkzMarkAngle[size=1cm,color=cyan,mark=|](A,C,P)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](P,C,B)
\tkzMarkAngle[size=0.75cm,color=orange,mark=||](B,A,C)
\tkzMarkRightAngle[german](A,C,B)
\tkzMarkRightAngle[german,dotsize=5pt,dotcolor=blue](B,P,C)
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

相关内容