When compiling following code, I the compiler tells me that a command is already defined (the name is \c@b...
).
\documentclass{article}
\usepackage{calc}
\usepackage{ifthen}
\usepackage{tikz}
\usepackage{verbatim}
\newcommand{\piepart}[5]
{
\draw[thick,fill=#4] (0,0) -- (#1:1) arc (#1:#2:1) -- cycle;
\pgfmathparse{0.5*#1+0.5*#2}
\let\midangle\pgfmathresult
\pgfmathtruncatemacro{\trunc}{\midangle}
\ifthenelse{\trunc < 90}{
\draw (\midangle:1) node[above right]{#3};
}
{
\ifthenelse{\trunc < 180}{
\draw (\midangle:1) node[above left]{#3};
}
{
\ifthenelse{\trunc < 270}{
\draw (\midangle:1) node[below left]{#3};
}
{
\draw (\midangle:1) node[below right]{#3};
}
}
}
\pgfmathparse{min((#2-#1-10)/110*(-0.3),0)}
\let\temp\pgfmathresult
\pgfmathparse{max(\temp,-0.5) + 0.8}
\let\innerpos\pgfmathresult
\node at (\midangle:0.8) {#5};
}
\newcommand{\piechart}[1]
{
\newcounter{a}
\newcounter{b}
\foreach \p/\mcolor/\mname in #1
{
\setcounter{a}{\value{b}}
\addtocounter{b}{\p}
\piepart{\thea/100*360}
{\theb/100*360}
{\mname}{\mcolor}{\p\%}
}
}
\begin{document}
\begin{tikzpicture}[scale=1.5]
\tikzstyle{every node}=[font=\tiny]
\piechart{{75/gray/A, 18/green/B, 7/red/C}}
\end{tikzpicture}
\begin{tikzpicture}[scale=1.5]
\tikzstyle{every node}=[font=\tiny]
\piechart{{75/gray/A, 18/green/B, 7/red/C}}
\end{tikzpicture}
\end{document}
If somebody knows what creates the error, or how to solve it, could they please tell me.
Thanks