![「不正な測定単位(pt が挿入されました)」foreach の問題](https://rvso.com/image/392319/%E3%80%8C%E4%B8%8D%E6%AD%A3%E3%81%AA%E6%B8%AC%E5%AE%9A%E5%8D%98%E4%BD%8D%EF%BC%88pt%20%E3%81%8C%E6%8C%BF%E5%85%A5%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%89%E3%80%8Dforeach%20%E3%81%AE%E5%95%8F%E9%A1%8C.png)
グラデーション付きの一連の円を作成しようとしています。作成された 2 ページ目には /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 では勾配は 2 から 84 になります。
\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}