“Unidade de medida ilegal (pt inserido)” Problema com foreach

“Unidade de medida ilegal (pt inserido)” Problema com foreach

Estou tentando fazer uma série de círculos com gradientes. Na segunda página criada há apenas /2pt/1pt/2pt e na última /20pt. Acho que há algo errado com meu loop foreach, mas não sei o quê.

\documentclass[tikz]{standalone}
\usepackage{xcolor}

\definecolor{myyellow}{cmyk}{0,0,10,0}

\begin{document}

\foreach \Radius/\j in {6.0/1, 6.05/2,...,8.0/42}
{
    \begin{tikzpicture}[scale=.5]
        \pgfmathsetmacro\k{\j*10}
        \useasboundingbox[fill=black] (-8.2,-8.2) rectangle (8.2cm,8.2cm);
        \fill[fill=myyellow!\k] (0,0) circle (\Radius);
    \end{tikzpicture}
}

\end{document}

Erro:

Illegal unit of measure (pt inserted).

<to be read again> 
                   /
l.15 }

Responder1

Você precisa usar números inteiros para a fração de cor, e existe a opção de usar countpara essa mesma situação.

\documentclass[tikz]{standalone}
\usepackage{xcolor}

\definecolor{myyellow}{cmyk}{0,0,10,0}

\begin{document}

\foreach \Radius [count=\j] in {6.0, 6.05,...,8.0}
{
    \begin{tikzpicture}[scale=.5]
        \pgfmathtruncatemacro\k{\j*10}
        \useasboundingbox[fill=black] (-8.2,-8.2) rectangle (8.2cm,8.2cm);
        \fill[fill=myyellow!\k] (0,0) circle (\Radius);
    \end{tikzpicture}
}

\end{document}

insira a descrição da imagem aqui

Responder2

Realmente não faz sentido fazer isso myyellow!420: todos os valores a partir de 100 produzirão a mesma cor.

Aqui o gradiente vai de 2 a 84 com a etapa 2.

\documentclass[tikz]{standalone}
\usepackage{xcolor}

\definecolor{myyellow}{cmyk}{0,0,10,0}

\begin{document}

\foreach \x in {2,4,...,84}
  {
    \begin{tikzpicture}[scale=.5]
        \pgfmathsetmacro\Radius{(\x-2)/41+6}
        \useasboundingbox[fill=black] (-8.2,-8.2) rectangle (8.2cm,8.2cm);
        \fill[fill=myyellow!\x] (0,0) circle (\Radius);
    \end{tikzpicture}
  }

\end{document}

informação relacionada