Marking angles in a parallelogram congruent using TikZ
Here is a simplified code with 4 marked angles :
\documentclass[tikz,border=7mm]{standalone}
\usetikzlibrary{angles}
\begin{document}
\begin{tikzpicture}[xslant=1,xscale=3,scale=2]
\draw (0,0) rectangle
(1,1) coordinate(C) node[above]{C} -- (0,0) coordinate(A) node[below]{A}
(1,0) coordinate(D) node[below]{D} -- (0,1) coordinate(B) node[above]{B}
(0.5,0) node {$|$} (0.5,1) node {$|$}
(0,0.5) node[rotate=70] {$||$} (1,.5) node[rotate=70] {$||$}
pic[draw,red,thick,angle radius=3mm] {angle = A--B--D}
pic[draw,red,thick,angle radius=3mm] {angle = C--D--B}
pic[draw,double,blue,thick,angle radius=4mm] {angle = B--D--A}
pic[draw,double,blue,thick,angle radius=4mm] {angle = D--B--C};
\end{tikzpicture}
\end{document}
Another option, using the same convention as for the sides:
The code:
\documentclass{amsart}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{xparse}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\tikzset{
triple/.style args={[#1] in [#2] in [#3]}{
#1,preaction={preaction={draw,#3},draw,#2}
}
}
\NewDocumentCommand\bisector{O{}mmmO{10pt}}{
\path[#1] let
\p1 = ($(#3)!1cm!(#2)$),
\p2 = ($(#3)!1cm!(#4)$),
\p3 = ($(\p1) + (\p2) - (#3)$)
in
($(#3)!#5!($(#3)!1cm!(\p3)$)$) -- ($($(#3)!1cm!(\p3)$)!#5!(#3)$) ;
}
\begin{document}
\noindent \hspace*{\fill}
\begin{tikzpicture}
%Parallelogram ABCD and its diagonals are drawn.
\coordinate (A) at (0,0);
\coordinate (B) at (75:3);
\coordinate (C) at ($(B) +(5,0)$);
\coordinate (D) at ($(C) +(-105:3)$);
\draw (A) -- (B) -- (C) -- (D) -- cycle;
\draw[name path=path_AC] (A) -- (C);
\draw[name path=path_BD] (B) -- (D);
%The four vertices are labeled.
\node at ($(A)! -2.5mm! (C)$){$A$};
\node at ($(B)! -2.5mm! (D)$){$B$};
\node at ($(C)! -2.5mm! (A)$){$C$};
\node at ($(D)! -2.5mm! (B)$){$D$};
%The intersection of the diagonals of the parallelogram is P. To place
%the label for P, the line segments are extended 4mm by an invisible
%path command "above" P. The endpoints of these extensions are called
%"label_P_left" and "label_P_right" and the midpoint of the line segment
%between them is called "label_P". A node command typesets "P" at the
%point 2.5mm from P on the invisible line segment between P and label_P.
\coordinate[name intersections={of=path_AC and path_BD, by={P}}];
\coordinate (label_P_left) at ($(P)!-4mm!(D)$);
\coordinate (label_P_right) at ($(P)!-4mm!(A)$);
\coordinate (label_P) at ($(label_P_left)!0.5!(label_P_right)$);
\node[blue] at ($(P)!2.5mm!(label_P)$){$P$};
%Opposite sides of the parallelogram are marked to indicate that they are
%congruent.
\coordinate (mark_for_AD) at ($(A)!0.5!(D)$);
\draw ($(mark_for_AD) + (0pt,-4pt)$) -- ($(mark_for_AD) + (0pt,4pt)$);
\coordinate (mark_for_BC) at ($(B)!0.5!(C)$);
\draw ($(mark_for_BC) + (0pt,-4pt)$) -- ($(mark_for_BC) + (0pt,4pt)$);
\coordinate (mark_for_AB) at ($(A)!0.5!(B)$);
\coordinate (mark_for_AB_up) at ($(mark_for_AB)! 1pt! (B)$);
\coordinate (mark_for_AB_down) at ($(mark_for_AB)! 1pt! (A)$);
\draw ($(mark_for_AB_up)!4pt!-90:(A)$) -- ($(mark_for_AB_up)!4pt!-90:(B)$);
\draw ($(mark_for_AB_down)!4pt!-90:(A)$) -- ($(mark_for_AB_down)!4pt!-90:(B)$);
\coordinate (mark_for_CD) at ($(C)!0.5!(D)$);
\coordinate (mark_for_CD_up) at ($(mark_for_CD)! 1pt! (C)$);
\coordinate (mark_for_CD_down) at ($(mark_for_CD)! 1pt! (D)$);
\draw ($(mark_for_CD_up)!4pt!-90:(D)$) -- ($(mark_for_CD_up)!4pt!-90:(C)$);
\draw ($(mark_for_CD_down)!4pt!-90:(D)$) -- ($(mark_for_CD_down)!4pt!-90:(C)$);
% Marks for the angles
\bisector[draw]{A}{B}{P}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = A--B--P};
\bisector[draw]{C}{D}{P}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = C--D--P};
\bisector[draw,double]{P}{B}{C}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = P--B--C};
\bisector[draw,double]{P}{D}{A}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = P--D--A};
\bisector[draw,
triple={[line width=0.4pt] in
[line width=2pt,white] in
[line width=2.8pt]}
]{B}{P}{A}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = B--P--A};
\bisector[draw,
triple={[line width=0.4pt] in
[line width=2pt,white] in
[line width=2.8pt]}
]{C}{P}{D}
\draw[black]
pic [draw,angle eccentricity=1]
{angle = D--P--C};
\end{tikzpicture}
\end{document}
Remarks
For the bisector I used a variation of a code from Tarass in
his answer
to Create angle bisectors in TikZ.For the
triple
style I used zeroth'sanswer
to Triple lines in TikZ.
I like Gonzalo Medina's answer, but I wanted to control the radius of the arc and corresponding tick mark, but I couldn't understand his code enough to modify it for that, so I created my own solution based off what I could figure out.
\documentclass{amsart}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
% Draw a tickmark on an existing angle arc
%
% #1: [Optional] Draw style
% #2: Point A in angle ABC
% #3: Point B in angle ABC
% #4: Point C in angle ABC
% #5: Radius of the arc
% #6: Half the length of the tickmark
\newcommand{\angletick}[6][]{
\draw[#1] let
\p{A} = (#2),
\p{B} = (#3),
\p{C} = (#4),
\p1 = ($(\p{B})!#5!(\p{A})$), % A point <radius> from B on BA
\p2 = ($(\p{B})!#5!(\p{C})$), % A point <radius> from B on BC
\p3 = ($(\p1) + (\p2) - (\p{B})$), % P3 such that BP3 is a bisector of ABC
\p4 = ($(\p{B})!#5!(\p3)$), % A point <radius> from B on BP3. This is where the tick mark intersects the arc
\p5 = ($(\p4)!#6!(\p3)$), % Half tick length towards B on bisector
\p6 = ($(\p4)!#6!(\p{B})$) % Half tick length away from B on bisector
in
(\p5) -- (\p6); % A line 0.2cm in length intersecting the arc on the bisector. A tickmark.
}
\begin{document}
\noindent \hspace*{\fill}
\begin{tikzpicture}
%Parallelogram ABCD and its diagonals are drawn.
\coordinate (A) at (0,0);
\coordinate (B) at (75:3);
\coordinate (C) at ($(B) +(5,0)$);
\coordinate (D) at ($(C) +(-105:3)$);
\draw (A) -- (B) -- (C) -- (D) -- cycle;
\draw[name path=path_AC] (A) -- (C);
\draw[name path=path_BD] (B) -- (D);
%The four vertices are labeled.
\node at ($(A)! -2.5mm! (C)$){$A$};
\node at ($(B)! -2.5mm! (D)$){$B$};
\node at ($(C)! -2.5mm! (A)$){$C$};
\node at ($(D)! -2.5mm! (B)$){$D$};
%The intersection of the diagonals of the parallelogram is P. To place
%the label for P, the line segments are extended 4mm by an invisible
%path command "above" P. The endpoints of these extensions are called
%"label_P_left" and "label_P_right" and the midpoint of the line segment
%between them is called "label_P". A node command typesets "P" at the
%point 2.5mm from P on the invisible line segment between P and label_P.
\coordinate[name intersections={of=path_AC and path_BD, by={P}}];
\coordinate (label_P_left) at ($(P)!-4mm!(D)$);
\coordinate (label_P_right) at ($(P)!-4mm!(A)$);
\coordinate (label_P) at ($(label_P_left)!0.5!(label_P_right)$);
\node[blue] at ($(P)!2.5mm!(label_P)$){$P$};
%Opposite sides of the parallelogram are marked to indicate that they are
%congruent.
\coordinate (mark_for_AD) at ($(A)!0.5!(D)$);
\draw ($(mark_for_AD) + (0pt,-4pt)$) -- ($(mark_for_AD) + (0pt,4pt)$);
\coordinate (mark_for_BC) at ($(B)!0.5!(C)$);
\draw ($(mark_for_BC) + (0pt,-4pt)$) -- ($(mark_for_BC) + (0pt,4pt)$);
\coordinate (mark_for_AB) at ($(A)!0.5!(B)$);
\coordinate (mark_for_AB_up) at ($(mark_for_AB)! 1pt! (B)$);
\coordinate (mark_for_AB_down) at ($(mark_for_AB)! 1pt! (A)$);
\draw ($(mark_for_AB_up)!4pt!-90:(A)$) -- ($(mark_for_AB_up)!4pt!-90:(B)$);
\draw ($(mark_for_AB_down)!4pt!-90:(A)$) -- ($(mark_for_AB_down)!4pt!-90:(B)$);
\coordinate (mark_for_CD) at ($(C)!0.5!(D)$);
\coordinate (mark_for_CD_up) at ($(mark_for_CD)! 1pt! (C)$);
\coordinate (mark_for_CD_down) at ($(mark_for_CD)! 1pt! (D)$);
\draw ($(mark_for_CD_up)!4pt!-90:(D)$) -- ($(mark_for_CD_up)!4pt!-90:(C)$);
\draw ($(mark_for_CD_down)!4pt!-90:(D)$) -- ($(mark_for_CD_down)!4pt!-90:(C)$);
\draw pic[draw=black, angle eccentricity=1.2, angle radius=0.3cm] {angle=A--B--D};
\angletick{A}{B}{D}{0.3cm}{0.1cm};
\draw pic[draw=black, angle eccentricity=1.2, angle radius=0.3cm] {angle=C--D--B};
\angletick{C}{D}{B}{0.3cm}{0.1cm};
\angletick[double]{C}{B}{D}{0.4cm}{0.1cm};
\draw pic[draw=black, angle eccentricity=1.2, angle radius=0.4cm] {angle=D--B--C};
\angletick[double]{A}{D}{B}{0.4cm}{0.1cm};
\draw pic[draw=black, angle eccentricity=1.2, angle radius=0.4cm] {angle=B--D--A};
\end{tikzpicture}
\end{document}
To do triple or more lines, you probably need a custom style as Gonzalo showed.
Also note that you have to draw the tick marks before the arc if using a special style, otherwise you will notice that they are on top, which in the case of the double style, it looks like there is a gap in the arc.
I couldn't figure out how to get the last parameter to be the full length of the tick mark, since length parameters can have different units associated with them, I didn't know how to do division on it. That's the main improvement I'd like to make.