Filling an annulus sector with tikz
You must load tikz
package if you want to use TikZ :)) So I assume that you don't allow to load any additional packages.
In the following proposals, it seems that I don't use any packages. However, I do load one. \documentclass[tikz]{standalone}
already load tikz
.
The angles are drawn with quotes
and angles
libraries. They are not packages, so I hope this answer is valid.
\documentclass[tikz]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\begin{tikzpicture}
\draw[fill=black!20] (140:1) coordinate (beta) arc (140:-70:1) coordinate (alpha) -- (-70:2) arc (-70:140:2) -- cycle;
\draw (-2.5,0)--(2.5,0) coordinate (x);
\draw (0,-2.5)--(0,2.5);
\fill (1,0) circle (1pt) node[below right] {$c^a$} (2,0) circle (1pt) node[below right] {$c^b$};
\coordinate (o) at (0,0);
\pic[draw,<-,"$\alpha$",angle radius=0.4cm,angle eccentricity=1.4] {angle=alpha--o--x};
\pic[draw,->,"$\beta$",angle radius=0.6cm,angle eccentricity=1.3] {angle=x--o--beta};
\end{tikzpicture}
\end{document}
However, if you don't want to load a single library, you can play with arc
and node[midway]
, although this is a bit more difficult
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\draw[fill=black!20] (140:1) coordinate (beta) arc (140:-70:1) coordinate (alpha) -- (-70:2) arc (-70:140:2) -- cycle;
\draw (-2.5,0)--(2.5,0) coordinate (x);
\draw (0,-2.5)--(0,2.5);
\fill (1,0) circle (1pt) node[below right] {$c^a$} (2,0) circle (1pt) node[below right] {$c^b$};
\coordinate (o) at (0,0);
\draw[->] (0.4,0) arc (0:-70:0.4) node[midway,below right,inner sep=1pt] {$\alpha$};
\draw[->] (0.6,0) arc (0:140:0.6) node[below right,inner sep=0pt] {$\beta$};
\end{tikzpicture}
\end{document}
Recommended approach:
\documentclass[tikz]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\begin{tikzpicture}
\draw[fill=black!20] (140:1) coordinate (beta) arc (140:-70:1) coordinate (alpha) -- (-70:2) arc (-70:140:2) -- cycle;
\draw (-2.5,0)--(2.5,0) coordinate (x);
\draw (0,-2.5)--(0,2.5);
\fill (1,0) circle (1pt) node[below right] {$c^a$} (2,0) circle (1pt) node[below right] {$c^b$};
\coordinate (o) at (0,0);
\pic[draw,<-,"$\alpha$",angle radius=0.4cm,angle eccentricity=1.4] {angle=alpha--o--x};
\pic[draw,->,"$\beta$",angle radius=0.6cm,angle eccentricity=1.3] {angle=x--o--beta};
\draw[very thin,dashed] (alpha)--(o)--(beta);
\end{tikzpicture}
\end{document}
You can do it with \filldraw
with some arcs. The use of polar coordinatesd like (-70:1)
means starting poiunt is at -70 degrees and distance 1 from origin. The cycle
at the end of the path closes the draw command.
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (-3,0) -- (3,0);
\draw (0,-3) -- (0,3);
\filldraw[fill=gray!30,opacity=0.7] (-70:1) arc (-70:150:1) -- (150:2) arc (150:-70:2) -- cycle;
\draw[->] (0:0.7) arc (0:-70:0.7)node[pos=0.5,anchor=-35]{$\alpha$};
\draw[->] (0:0.8) arc (0:150:0.8)node[pos=0.9,anchor=150]{$\beta$};
\end{tikzpicture}
\end{document}