Um diese schöne Antwort fortzusetzen:ist es möglich, folgende zusätzliche Winkelmarkierungen zu haben? ((1) Der Winkel mit dem Punkt in der Mitte; (2) die violetten Winkel mit Verzierungen, wenn möglich mit der Möglichkeit diese individuell anzupassen (Segmentnummern, Länge, Entfernung, Farbe etc.); (3) Winkel mit mehreren Bögen.
Antwort1
Hier ist ein Vorschlag. Wie Kpym in den Kommentaren freundlicherweise erklärt hat, gibt es zwei Wege für die Winkelkonstruktion: den Bogen und die Füllung. Man muss verhindern, dass TikZ vom zweimaligen Zeichnen der Dekoration. Diese Antwort kommt mit einem Stil insert angle lines
, der zwei Argumente annimmt, die Anzahl der Linien und den Scheitelpunkt, mit dem sie verbunden werden sollen. Ein Beispiel ist
\pic [draw=red,angle radius=1cm,insert angle lines={3}{A}]
{angle = C--A--B};
Es gibt einen zweiten Stil für den Punkt
\pic [draw=blue,angle radius=1cm,insert angle dot={B}] {angle = A--B--C};
Wenn Sie den Stil dieser Markierungen ändern möchten, passen Sie an every angle mark
. Hier ist das MWE.
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{decorations.markings,angles}
\newcounter{trstep}
\begin{document}
\tikzset{insert |/.style={decoration={markings,
mark=at position #1 with {%
\draw[line cap=round,mark segment]
(0,-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (0,\pgfkeysvalueof{/tikz/mark
segment length}/2);}
}},
| mark/.style={postaction=decorate,insert |=#1},
insert ||/.style={decoration={markings,
mark=at position #1 with {%
\draw[line cap=round,mark segment]
(-\pgfkeysvalueof{/tikz/mark segment distance}/2,-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (-\pgfkeysvalueof{/tikz/mark segment distance}/2,\pgfkeysvalueof{/tikz/mark
segment length}/2);
\draw[line cap=round,mark segment] (\pgfkeysvalueof{/tikz/mark segment distance}/2,-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (\pgfkeysvalueof{/tikz/mark segment distance}/2,\pgfkeysvalueof{/tikz/mark
segment length}/2);}
}},
|| mark/.style={postaction=decorate,insert ||=#1},
insert |||/.style={decoration={markings,
mark=at position #1 with {%
\draw[line cap=round,mark segment]
(-\pgfkeysvalueof{/tikz/mark segment distance},-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (-\pgfkeysvalueof{/tikz/mark segment distance},\pgfkeysvalueof{/tikz/mark
segment length}/2);
\draw[line cap=round,mark segment]
(0,-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (0,\pgfkeysvalueof{/tikz/mark
segment length}/2);
\draw[line cap=round,mark segment]
(\pgfkeysvalueof{/tikz/mark segment distance},-\pgfkeysvalueof{/tikz/mark
segment length}/2) -- (\pgfkeysvalueof{/tikz/mark segment distance},\pgfkeysvalueof{/tikz/mark
segment length}/2);}
}},
||| mark/.style={postaction=decorate,insert |||=#1},
mark segment/.style={thick},
mark segment options/.code=\tikzset{mark segment/.style={#1}},
mark segment distance/.initial=2pt,
mark segment length/.initial=4pt,
angle deco |/.style={insert |=0.5,
pic actions/.append code=\tikzset{postaction=decorate}},
angle deco ||/.style={insert ||=0.5,
pic actions/.append code=\tikzset{postaction=decorate}},
angle deco |||/.style={insert |||=0.5,
pic actions/.append code=\tikzset{postaction=decorate}},
insert angle lines/.style n args={2}{
/utils/exec={\pgfmathsetmacro{\mystep}{1/(#1+1)}
\setcounter{trstep}{0}},
decoration={markings,mark=between positions {\mystep} and {1-\mystep} step {\mystep}
with {\stepcounter{trstep}
\ifnum\number\value{trstep}>#1
\else
\draw[shorten <=-1pt,every angle mark] (0,0)-- (#2);
\fi}},
pic actions/.append code=\tikzset{postaction={decorate}}
},
every angle mark/.style={line cap=round,semithick},
double arc/.style={double,double distance=2pt},
triple arc/.style={double distance=4pt,
pic actions/.append code=\tikzset{postaction={draw}}},
insert angle dot/.style={
/utils/exec={\setcounter{trstep}{0}},
decoration={markings,mark=at position 0.5 with {\stepcounter{trstep}
\ifnum\number\value{trstep}=1
\fill[\pgfkeysvalueof{/tikz/angle dot color}] (#1) -- (0,0) coordinate[pos=\pgfkeysvalueof{/tikz/angle dot pos}] (aux) (aux)
circle[radius=\pgfkeysvalueof{/tikz/angle dot radius}];
\fi}},
pic actions/.append code=\tikzset{postaction={decorate}}},
angle dot radius/.initial=1pt,
angle dot pos/.initial=0.6,
angle dot color/.initial=black}
\begin{tikzpicture}[]
\coordinate (A) at (0,0);
\coordinate (B) at (2,4);
\coordinate (C) at (4,0);
\draw(A)--(B)--(C)--cycle;
\path[| mark=0.5] (A) -- (B);
\path[mark segment options={thick,yscale=2},|| mark=0.5] (B) -- (C);
\path[mark segment options={blue,line width=1pt,scale=2},||| mark=0.5] (C) -- (A);
\pic [draw=blue,angle radius=1cm,insert angle dot={B}]
{angle = A--B--C};
\pic [draw=red,angle radius=1cm,insert angle lines={3}{A}]
{angle = C--A--B};
\pic [draw=purple,angle radius=1cm,triple arc,
insert angle lines={3}{C}]
{angle = B--C--A};
\end{tikzpicture}
\end{document}