The result of \pgfmathparse is automatically stored in \pgfmathresult. Is it possible to store it in an other variable, too?
- 29,003
2 Answers
Use \pgfmathsetmacro\mymacro{...} instead of \pgfmathparse{...}.
From the v2.10 pgfmanual, section 62.1 Commands for Parsing Expressions, page 527:
\pgfmathsetmacro{<macro>}{<expression>}
Defines<macro>as the value of<expression>. The result is a decimal without units.
\pgfmathsetlengthmacro{<macro>}{<expression>}
Defines<macro>as the value of<expression>LaTeX in points.
\pgfmathtruncatemacro{<macro>}{<expression>}
Defines<macro>as the truncated value of<expression>.
In theory you could also say \let\mymacro\pgfmathresult, but I recommend the above macros.
- 262,582
I guess with
\edef\myvar{\pgfmathresult}
when the value from \pgfmathparse has been computed. Or \xdef instead of \edef if you need it globally, i.e., outside the TiKZ environment in which the computation is performed.
- 1,121,712
\pgfmathresultis already fully expand, so I would prefer\let\myvar\pgfmathresult, with\globalas prefix if required. – Martin Scharrer May 21 '11 at 22:45\globalin front of them shouldn't work. – Martin Scharrer May 21 '11 at 23:01