# Filling an annulus sector with tikz

I want to draw the following graphic using tikz:

Is it possible to draw this without using any packages? I can draw the coordinate system as well as both of the arcs but how do I get the space in between filled and also the connections between the arcs give me trouble.

• Welcome! Without using any packages, are you sure? You have to use at least one package if you use TikZ. Btw, please add a picture you have drawn so far, so we can have some addition if possible. – user156344 Mar 26 at 10:29
• Okay, I will make a picture now and post it. Give me a couple of minutes. I just got an idea. – RedLantern Mar 26 at 10:33

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}


• The reason why I don't want any packages is because I use LyX instead of LaTeX and often face issues with downloading packages and getting them to work. If there is a solution (like your second one) that doesn't require packages I'm glad. So thanks for altering your solution! – RedLantern Mar 26 at 10:48
• @RedLantern If you don't want to load tikz, you have only one option: using the picture environment, which is definitely extremely difficult to use. – user156344 Mar 26 at 10:49
• @RedLantern There are many questions here about how to use TikZ in LyX. Take this one, for example. – user156344 Mar 26 at 10:51
• @RedLantern Btw I don't think you need to download packages manually. What is your TeX distribution (i.e. MiKTeX or TeX Live or something...)? – user156344 Mar 26 at 10:52
• No, don't worry. I already got tikz installed and working. But it took a while and every time I need a new package it requires time and work to get it working so I prefer to know how to draw stuff in tikz with only the basic commands. – RedLantern Mar 26 at 10:55

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 cycleat 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}


• That's exactly what I wanted. But I'm not sure if I fully understand what you did there. The (-70:1) is the starting point of the arc in polar coordinates? And adding --cycle in the end closes the graph by drawing the connections between the two arcs? – RedLantern Mar 26 at 10:44
• Yes, I have added that in the description. – StefanH Mar 26 at 10:52