\pgfmathtruncatemacro가 레이블이 될 수 없는 이유는 무엇입니까?

\pgfmathtruncatemacro가 레이블이 될 수 없는 이유는 무엇입니까?

pgfmath를 사용하여 모듈러 값을 계산하려고 합니다. 그러나 이 값을 노드에 레이블로 지정하려고 하면 컴파일되지 않습니다.

다음 코드는 실패합니다.

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

    \pgfmathsetmacro{\N}{5}

    \foreach \x in {0,...,\N}
    {
        \pgfmathtruncatemacro{\next}{Mod(\x+1,\N)}
        \node at (\next,0) {\next};
%        \node at (\next,0) {\x};
    }

\end{tikzpicture}

\end{document}

오류가 발생합니다: "누락 } 삽입됨. } l.16 }". 16번째 줄은 "}"가 있는 줄입니다.

"\node" 줄을 주석 처리된 줄로 바꾸는 코드는 (예를 들어) 컴파일됩니다. 누군가 무엇이 잘못되고 있는지, 어떻게 해결할 수 있는지 설명해 주시겠습니까?

나는 지금까지 했던 일을 하려고 노력했다.이 답변, 하지만 수학 모드는 나에게 도움이 되지 않는 것 같습니다.

감사해요!

답변1

\next는 특별하므로 사용하지 마세요 . 이는 커널 전체에서 사용되며 재정의될 수 있으며 이로 인해 발생한 문제가 발생할 수 있습니다. 대신 와 같이 좀 더 설명적인 것을 사용하세요 \nextnode.

답변2

Ti 때케이Z는 노드를 처리합니다.

\let\next=

{코드에서 시작 그룹 문자를 흡수하려면

\node at (\next,0) {\next};

그러므로 Ti까지 \next일 것이다Mod(\x+1,\N)케이Z가 노드에 들어갑니다.

\next이것이 바로 좌표에 사용할 수 있는 이유입니다.

\node at (\next,0) {\x};

하지만 노드에서는 사용할 수 없습니다.

관련 정보