Оператор \foreach
в TikZ смещает координаты в моих фигурах ConTeXt; после некоторых экспериментов я обнаружил, что это вызвано двумя инструкциями \usemodule[french]
и \setcharacterspacing[frenchpunctuation]
(любая из инструкций приводит к проблеме). Вот MWE и результат:
\usemodule[tikz]
\starttext
\starttikzpicture[declare function={a=1; dth=90;}]
\foreach \i in {0, 1, ..., 3} {
\draw (\i*dth: a) ++ ({(\i-0.5)*dth}: a) coordinate (A-\i)
arc ({(\i-0.5)*dth}: {(\i+0.5)*dth}: a) coordinate (B-\i);
};
\foreach \i/\j in {0/1, 1/2, 2/3, 3/0} {
\draw [thin] (B-\i) -- (A-\j);
}
\stoptikzpicture
\usemodule[french]
\setcharacterspacing[frenchpunctuation]
\starttikzpicture[declare function={a=1; dth=90;}]
\foreach \i in {0, 1, ..., 3} {
\draw (\i*dth: a) ++ ({(\i-0.5)*dth}: a) coordinate (A-\i)
arc ({(\i-0.5)*dth}: {(\i+0.5)*dth}: a) coordinate (B-\i);
};
\foreach \i/\j in {0/1, 1/2, 2/3, 3/0} {
\draw [thin] (B-\i) -- (A-\j);
}
\stoptikzpicture
\stoptext
Существует множество проблем во взаимодействии TikZ и французских пакетов в LaTeX, но я не могу найти ничего об этом поведении на форумах. Я попробовал пару \shorthandoff
/, \shorthandon
которая работает в LaTeX, но ConTeXt выдает Undefined Control Sequence
ошибку. Есть ли обходной путь для этой проблемы?
Заранее спасибо,