Зачем нужны скобки в этом расчете TikZ?

Зачем нужны скобки в этом расчете TikZ?

Я создаю многостраничный PDF с TikZ, который будет использоваться для анимации. При этом я получаю эту ошибку:

! Missing number, treated as zero.
<to be read again> 

Вот минимальный рабочий пример (MWE), демонстрирующий проблему:

\documentclass[tikz]{standalone}

\begin{document}

\def\timesteps{10}                                                                                                                        
\foreach \timestep in {0,1,...,\timesteps} {
  \begin{tikzpicture}

    \path[draw] (0, 0) circle (1);

    \def\initialx{-1};
    \def\initialy{0};
    \def\finalx{0.9};
    \def\finaly{0};
    \def\length{0.1};

    \def\xi{{\initialx+(\finalx-\initialx)*(\timestep/\timesteps)}};
    \def\yi{{\initialy+(\finaly-\initialy)*(\timestep/\timesteps)}};

    \def\xf{{\initialx+(\finalx-\initialx)*(\timestep/\timesteps)+\length}}; % This line works ...                                        
    %\def\xf{{\xi+\length}}; % ... but this line does not ...                                                                             
    %\def\xf{{(\xi)+\length}}; % ... unless there are parentheses                                                                         
    \def\yf{{\yi}};

    \path[draw, ->] (\xi, \yi) -- (\xf, \yf);

  \end{tikzpicture}
}

\end{document}

Запуск MWE дает желаемый результат: простой 11-страничный PDF-файл стрелки, движущейся по экрану. Теперь я закомментирую строку

\def\xf{{\initialx+(\finalx-\initialx)*(\timestep/\timesteps)+\length}};

и раскомментируйте строку

\def\xf{{\xi+\length}};

потому что они математически эквивалентны. Я получаю ранее упомянутую ошибку:

! Missing number, treated as zero.
<to be read again> 

Я гуглил это в отношении TikZ, и все ответы говорят, что фигурные скобки нужны вокруг вычисления. Однако в строке выше есть фигурные скобки, поэтому я не думаю, что это проблема. Попробовав разные вещи, я заметил, что скобки вокруг \xiрешили проблему:

\def\xf{{(\xi)+\length}};

Поэтому мой вопрос: зачем здесь нужны скобки? Как я уже упоминал, я думал, что если вычисление находится внутри фигурных скобок, то больше ничего особенного не нужно. Есть ли какая-то «официальная» документация, которая обсуждает это? Наконец, я новичок в TikZ, так что не стесняйтесь улучшать свой код.

Связанный контент