As some of you might know, I'm working with Albert Rich to improve the accessibility of his Rubi package for rule-based integration. I'm almost done with a first version that contains several improvements, but for the current task, I'd like to ask for input from the community.
One major strength of Rubi is that it can provide all steps and intermediate results of an integration. This, however, was a bit broken since the intermediate output was not overwritten when you evaluate an integration again. I reworked this completely and now the big question is how to format rules and intermediate results in the most stunning way.
A "step" can either be a
RubiRule or a
RubiIntermediateResult and I get them as
RubiRule[conditionString, HoldComplete[leftHandSide], HoldComplete[rightHandSide], ruleNumber] RubiIntermediateResult[HoldComplete[expression]]
conditionString and the
ruleNumber is not always there, but often we have this information.
Question: Who can come up with the most stunning display of these two types of expressions? Go crazy with
Grid, etc. but in the end, we need a nice looking output for both types.
I have prepared a small notebook that contains an example list of steps in the last portion of the
Reap result. This notebook is not meant to be evaluated since you obviously don't have my development version of
Rubi.m, but you can use the output that I provided to implement and test pretty-printing for
At the moment, it looks like this in Rubi