“非法计量单位(插入 pt)” foreach 问题

“非法计量单位(插入 pt)” foreach 问题

我正在尝试制作一系列带渐变的圆圈。在创建的第二页上,只有 /2pt/1pt/2pt,最后一页有 /20pt。我猜我的 foreach 循环有问题,但我不知道是什么问题。

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

错误:

Illegal unit of measure (pt inserted).

<to be read again> 
                   /
l.15 }

答案1

您需要使用整数作为颜色分数,并且可以选择count在这种情况下使用。

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

在此处输入图片描述

答案2

这实际上没有意义myyellow!420:从 100 开始的所有值都会产生相同的颜色。

此处梯度从 2 变为 84,步长为 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}

相关内容