当宏返回坐标时,in=down 修饰符会中断 \draw 命令

当宏返回坐标时,in=down 修饰符会中断 \draw 命令

另一个最小的非工作示例...

\documentclass{article}
\usepackage{tikz}
\begin{document}
\newlength\mylength
\setlength\mylength{20pt}
\newcommand*\mypoint{\mylength,20pt}
\begin{tikzpicture}
    \draw (0pt,0pt) to [in=down] (\mypoint);
\end{tikzpicture}
\end{document}

没有修饰符一切都很好[in=down]。欢迎提供帮助!我需要一个保留一般结构的修复程序;这是对真实情况的简化,其中我to [in=down] (\mypoint)的绘制命令中有数百个这样的线段,\mypoint每个情况下都有一个不同的宏,并且为每次调用宏创建一个新节点是不可行的。

答案1

20pt由于您将的值存储为length,因此您应该使用 来访问其值\the\mylength。将您的宏重新定义为\newcommand*\mypoint{\the\mylength,20pt}即可。

\def 和 \newlength 之间有什么区别?有关使用length宏的更多详细信息。

相关内容