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

MWE:

\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}

結果:

ここに画像の説明を入力してください

関連情報