Unlike the official implements of Rubi`Steps
, usually we care about the result only instead of rules, as we don't write rules for hand-writing formulae.
So I wrote a new RubiSteps`ShowIntSteps
, which supports more for hand-writing formula generation. The code is a bit long so I provide it at github.
BUG issues are welcomed.
Implementation Details
RubiSteps`ShowIntSteps
does not use the output from Rubi`Steps
, but is implemented as a new function.
Rubi`Steps
sets Rubi`Private`$ShowSteps = True
and then use FixedPoint
to evaluate step by step and Sow
held results.
RubiSteps`ShowIntSteps
uses two nested FixedPoint
s. The inner one evaluate and Sow
everything except Rubi`Subst
which stands for substituting operation. When the inner one find no replacing can be performed, the outer FixedPoint
function is applied for doing substitutions.
Then ShowIntSteps
uses a Reap
to collect results. Note that substitutions in these results are not performed, so this information can be used for typesetting.
Finally it does trivial(but need 80% code) conversions for the result.
Advice for Rubi developer
I've noticed the usage of Defer
and HoldComplete
in Steps
is just Inactive
and HoldForm
. The latter may be more canonical.