Для обозначения прямых углов я использую макрос \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}
Результат: