5

I am trying to define a newcommand using pgfmath. This commands calls a previously defined command but it fails. It propably has to do something with expansion.

I've read this question about expanding pgf macros within commands but I can't get it to work.

\documentclass{article}
\usepackage{tikz}

\newcommand{\mathresult}[1]{\pgfmathparse{#1} \pgfmathresult}
\newcommand{\doublemathresult}[1]{\pgfmathparse{2 * \mathresult{#1}} \pgfmathresult}

\begin{document}
\mathresult{1}
\doublemathresult{1}
\end{document}

The error message is

Incomplete \iffalse; all text was ignored after line

3

You can try something like that but there are several possibilities but what do you want to do ?

\documentclass{article}
\usepackage{tikz}

\newcommand{\mathresult}[1]{%
\pgfmathparse{#1}\pgfmathsetmacro\mymathresult{\pgfmathresult}}
\newcommand{\doublemathresult}[1]{%
\mathresult{#1}%
\pgfmathparse{2 * \mymathresult}%
\pgfmathsetmacro\mymathresult{\pgfmathresult}}

\begin{document}
\mathresult{2}\mymathresult

\doublemathresult{2}\mymathresult
\end{document}
  • This is where we need an expandable version of \pgfmathparse... – Bruno Le Floch Jun 9 '11 at 13:32
  • Thank you. I am just trying to make some geometry calculations. Like a library of help-functions or something. Par example, to find the intersection of 2 lines when you know a single point on each line and their slopes etc. There are more cases. I can always calculate them by hand of course, but I like my drawings to be parametrized so that I can easily make changes on them. – pmav99 Jun 9 '11 at 14:32
  • @Bruno, Yeah that would be great – pmav99 Jun 9 '11 at 14:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.