1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
% Copyright 2019 by Till Tantau
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Free Documentation License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
\section{Angle Library}
\label{section-angle}
\begin{tikzlibrary}{angles}
This library defines pic types for drawing angles.
\end{tikzlibrary}
\begin{pictype}{angle}{\opt{|=|\meta{A}|--|\meta{B}|--|\meta{C}}}
This pic adds a drawing of an angle to the current path. This ``drawing of
an angle'' consist of a ``sector'' or ``wedge'' or ``slice'' whose pointed
end is at point \meta{B} and whose straight sides lie on the lines form
\meta{B} to \meta{A} and from \meta{B} to \meta{C}. The length of these
lines is governed by the following key:
%
\begin{key}{/tikz/angle radius=\meta{dimension} (initially 5mm)}
The length of the sides of the angle's wedge:
%
\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (-1,-1) coordinate (C)
pic [fill=black!50] {angle = A--B--C}
pic [draw,->,red,thick,angle radius=1cm] {angle = C--B--A};
\end{codeexample}
\end{key}
The three points \meta{A}, \meta{B}, and \meta{C} \emph{must} be the names
of nodes or coordinates; you cannot use direct coordinates like ``|(1,1)|''
here.
You can leave out the three points, in this case the text |A--B--C| is
used; so in the above examples we could just have written |{angle}| in the
first pic.
Concerning the sector that makes up the drawing of the angle, the angular
part of this sector is drawn in front of the path if the |draw| option is
given to the |pic|, while filled sector is drawn behind the |pic|, provided
an option like |fill| or |shade| is passed to the pic. The following
example shows the difference:
%
\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz \draw [line width=2mm]
(2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic [draw=blue, fill=blue!50, angle radius=1cm] {angle};
\end{codeexample}
When |pic text| is set (which you typically do by using the quotes syntax),
a node will be created whose name is empty (and, thus, inherits the pic's
name) and which will be at the half-way angle between the lines to \meta{A}
and \meta{C} and whose distance from \meta{B} is |angle radius| times the
following factor:
%
\begin{key}{/tikz/angle eccentricity=\meta{factor} (initially 0.6)}
\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic ["$\alpha$", draw, ->] {angle};
\end{codeexample}
%
\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz \draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic ["$\alpha$", draw, angle eccentricity=1] {angle};
\end{codeexample}
%
\begin{codeexample}[preamble={\usetikzlibrary{angles,quotes}}]
\tikz {
\draw (2,0) coordinate (A) -- (0,0) coordinate (B)
-- (1,1) coordinate (C)
pic (alpha) ["$\alpha$", draw] {angle};
\draw (alpha) circle [radius=5pt];
}
\end{codeexample}
\end{key}
\end{pictype}
\begin{pictype}{right angle}{\opt{|=|\meta{A}|--|\meta{B}|--|\meta{C}}}
This pic adds a drawing of a right angle to the current path. It works in
the same way as |angle| pic.
%
\begin{codeexample}[preamble={\usetikzlibrary{angles}}]
\tikz
\draw (0,0,0) coordinate (O)
(1,0,0) coordinate (A) -- (O)
(0,0,1) coordinate (B) -- (O)
(0,1,0) coordinate (C) -- (O)
pic [fill=gray,angle radius=4mm] {right angle = A--O--B}
pic [draw,red,thick,angle eccentricity=.5,pic text=.]
{right angle = A--O--C};
\end{codeexample}
%
\end{pictype}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "pgfmanual-pdftex-version"
%%% End:
|