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}

結果:

在此輸入影像描述

相關內容