另一个最小的非工作示例...
\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
宏的更多详细信息。