Я хочу использовать макрос \foo
, который определяет путь в зависимости от параметров макроса и в конечном итоге использовать его внутри tikzpictures следующим образом:
\draw[thick] \foo{5}{6};
Если у меня есть что-то вроде
\providecommand{\foo}[2]{%
(.5,0) +(0,0) -- (1,#1) +(0,0) -- (-1,#1)
}
это работает так, как и ожидалось, но как только я добавляю некоторые предварительные вычисления pgfmath, например
\providecommand{\foo}[2]{%
\pgfmathadd{#1}{#2}% How to hide this?
(.5,0) +(0,0) -- (1,#1) +(0,0) -- (-1,\pgfmathresult)
}
Я получаю сообщение об ошибке «Ошибка пакета tikz: отказ от этого пути. Вы забыли точку с запятой?».
Я привык из METAPOST/METAFONT сначала писать некоторые предварительные вычисления, и макрос автоматически вернет только последнюю строку. Как мне добиться такого поведения в TikZ?
(Я хочу \draw
быть вне макроса!)