# Drawing a partitioned circle with a circle in the middle

How can I draw a figure of a partitioned circle with a circle in the middle using TikZ or any other LaTeX tool?

• You probably get more (and better) answers, if you provide a mwe to show what you already tried. – Jürgen Mar 16 '17 at 11:16

Another version (where the number of spokes can change)

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\def\NumSpokes{6}
\def\InnerR{1}
\def\OuterR{3}
\draw (0,0) circle (\InnerR);
\draw (0,0) circle (\OuterR);
\foreach \k in {1,...,\NumSpokes}{%
\draw (\k*360/\NumSpokes:\InnerR) -- (\k*360/\NumSpokes:\OuterR);}
\node at (0,0){$\mathrm{Princ}(C)$};
\node[anchor=south west] at (45:\OuterR){$\mathrm{Div}^0(C)$};
\end{tikzpicture}
\end{document}


There are of course lots of solutions, one of them shows the following example.

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[line width=1pt] (0,0) circle (2cm);
\foreach \phi in {0,60,120} \draw[line width=0.5pt] (\phi:2cm) -- (\phi+180:2cm);
\draw[line width=1pt,fill=white] (0,0) node {$Princ(C)$} circle (0.8cm);
\node[above right] at (45:2.1cm) {$Div^0(C)$};
\end{tikzpicture}
\end{document}


You would have to modify the text output somehow, but since you want to label it anyway, the option of tikz nodes to access any angle on its border could come in handy

\documentclass[tikz]{standalone}

\begin{document}
\begin{tikzpicture}
\node[shape=circle, draw, thick, minimum width=1cm] (inner) at (0, 0) {$Princ(C)$};
\node[shape=circle, draw, thick, minimum width=3cm] (outer) at (0, 0) {};

%\draw (inner.0) -- (outer.0);
%\draw (inner.60) -- (outer.60);
%...

\foreach \angle in {0,60,...,300}\draw (inner.\angle) -- (outer.\angle);

\node[anchor=south west] at (outer.50) {$Div^0(C)$};
\end{tikzpicture}
\end{document}


Where you can use the \foreach for regular sectioning, or the draw commands for arbitrary angles (thanks to StefanH in the comments)

With the result:

However, Jürgen's answer also works, so it is probably more a decision of what you intend to do with it.

• You can draw the lines using \foreach \angle in {0,60,...,300}\draw (inner.\angle) -- (outer.\angle); – StefanH Mar 16 '17 at 11:44
• I tried, but got tons of errors. Are you sure that works for you? Nevermind, I copied your code and it worked. Maybe I had a typo there somewhere and blamed the foreach. – Timm Mar 16 '17 at 11:46

A short code with pstricks:

\documentclass[12pt, border=3pt]{standalone}

\usepackage{pstricks}
\usepackage{pst-plot, auto-pst-pdf}

\begin{document}

\begin{pspicture}(-5,-5)(5,6)
\bfseries\slshape
\pscircle[linewidth=3pt]{4.5}%
\multido{\i=0+60}{6}{\psline[linewidth=1.5pt](1.5; \i)(4.5; \i)}
\pscircle[linewidth=2.4pt]{1.5}%
\uput{1em}[r](4.5;60){ Div\textsuperscript{0}(C)}
\rput(0,0.5){Princ(C)}
\end{pspicture}

\end{document}