tkz-euclide: \tkzMarkRightAngle[german]에서 점의 크기와 색상을 수정하는 방법은 무엇입니까?

tkz-euclide: \tkzMarkRightAngle[german]에서 점의 크기와 색상을 수정하는 방법은 무엇입니까?

직각을 표시하기 위해 \tkzMarkRightAngle[german]의 매크로를 사용합니다 tkz-euclide.

포인트의 크기와 색상을 어떻게 수정하나요?

확대/축소하지 않은 스크린샷

여기에 이미지 설명을 입력하세요

확대/축소 스크린샷

여기에 이미지 설명을 입력하세요

MWE

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}

결과:

여기에 이미지 설명을 입력하세요

관련 정보