
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};
하지만 노드에서는 사용할 수 없습니다.