Я новичок в tikz и пытаюсь создать не очень простую картинку. Я также использую пакет calc
с командой let, но конечная цифра не та, что нужна. Поэтому мне нужно отладить код и узнать значения, вычисленные в команде let. В частности, учитывая команду
\draw
let \p1 = ($(D1) - (D)$),
\p2 = ($(D2) - (D)$),
\n0 = {veclen(\x1, \y1)},
%\n1 = {atan2(\x1, \y1)},
%\n2 = {atan2(\x2, \y2)}
\n1 = {atan(\x1/\y1) + 180*(\x1 < 0)},
\n2 = {atan(\x2/\y2) + 180*(\x2 < 0)}
in (D1) arc(\n1:\n2:\n0);
есть ли способ увидеть значения \n1
и \n2
? Обратите внимание, что мне не нужно отображать их на картинке, но мне нужно их знать, чтобы просто проверить, верны ли эти значения. Спасибо.
решение1
Вы можете вывести их значение в узел, но если вы просто хотите их увидеть, не выполняя никаких трюков с узлом, то вы можете вывести их в файл журнала.
\documentclass[tikz]{standalone}
\usetikzlibrary{calc}
\def\shoutmyn#1{\expandafter\show\csname tikz@cc@n@#1\endcsname}
\begin{document}
\begin{tikzpicture}[]
\node (D1) {D1};
\node (D) at (3,2) {D};
\node (D2) at (1,4) {D2};
\draw
let \p1 = ($(D1) - (D)$),
\p2 = ($(D2) - (D)$),
\n0 = {veclen(\x1, \y1)},
%\n1 = {atan2(\x1, \y1)},
%\n2 = {atan2(\x2, \y2)}
\n1 = {atan(\x1/\y1) + 180*(\x1 < 0)},
\n2 = {atan(\x2/\y2) + 180*(\x2 < 0)}
in \pgfextra{\shoutmyn{1}}(D1) arc(\n1:\n2:\n0);
\end{tikzpicture}
\end{document}
Это, например, печатается на TexnicCenter