如何了解 tikz 中的变量值以进行调试

如何了解 tikz 中的变量值以进行调试

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

在此处输入图片描述

相关内容