因此,我尝试使用另一个变量的值来设置一个变量。基本上如下所示:
\pgfmathsetmacro{\newVar}{\pgfmathifthenelse{\oldVar==0}{(\x/2)}{\x}}
但无论我做什么,我似乎都无法正确理解语法。我假设它与扩展内容有关,但无法弄清楚什么是需要扩展的,什么是不需要扩展的。我找不到任何有意义的东西。我见过的所有人都使用 if/then 来实际输出内容,而不是将它们设置为变量。有什么想法吗?
答案1
\pgfmathifthenelse
是将结果写入的独立版本\pgfmathresult
,设置宏需要评估内联数学函数,例如
\pgfmathsetmacro{\newVar}{ifthenelse(\oldVar==0,(\x/2),\x)}
或更短
\pgfmathsetmacro{\newVar}{(\oldVar==0?(\x/2):\x)}.