我对 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上