MWE (TikZ マニュアルからコピー):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}
\tikzmath{
int \x;
for \k in {0,10,...,350}{
if \k>260 then { let \c = orange; } else {
if \k>170 then { let \c = blue; } else {
if \k>80 then { let \c = red; } else {
let \c = green; }; }; };
{
\path [fill=\c!50, draw=\c] (\k:0.5cm) -- (\k:1cm) --
(\k+5:1cm) -- (\k+5:0.5cm) -- cycle;
};
};
}
\end{tikzpicture}
\end{document}
次のエラー メッセージが表示されます。
! Undefined control sequence.
\tikz@math@if@@doifelse ...gfmathfloatparseactive
\pgfmathfloattofixed {\pgf...
l.19 }
if
in を使用する他のコードでも同じ問題が発生しておりtikzmath
、これは以前は問題なくコンパイルされていた TeX ファイルにも当てはまります。TikZ の現在のバージョン (MiKTeX) は壊れているのでしょうか?
私は Windows 10 で MikTeX 2.9 を使用していますが、念のため、パッケージは数分前に更新されました。
アップデート:もっと明確に言うと、この単純なtikzmath
コードでも同じエラー メッセージが表示されます。
\tikzmath{
\x = 42;
if \x == 42 then {
{\fill (0,0) circle (1cm);};
};
}
答え1
これは PGF/TikZ のバグであり、バグトラッカーに報告されているはずです。私はあなたのためにそれを行い、バグも修正しました。回避策もチケットに記載されています。https://sourceforge.net/p/pgf/bugs/517/
観察しているものがバグであるかどうかわからない場合は、マニュアルの例を試してください。マニュアルの例が失敗した場合、それは間違いなくバグです。
回避策
追加するだけ
\usetikzlibrary{fpu}
あなたの序文に。