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}
당신의 전문에.