It's easy to read the steps from Rubi, but kind of tired to copy it out of as $\LaTeX$. That's what now I do:

Int[x Sin[x], x]//Steps

For example,click one step, then paste it to .nb, then //TeXForm to get the TeX code. (kind of monkey job)

I've tried FullForm, get nothing, // Trace gives back a lot of things, which seems a bit hard for me to pick out what I want. So I want a "automatical" way to do this.

  • $\begingroup$ Hi. I found small problem trying to add your function to my report. Since all integrals I use come from lists, and you have SetAttributes[IntWithStepsOfTeXForm, {HoldFirst}]; then when I pass the integral to your function, it does not work. Here is an example. lst = {{Log[1 + x], x}}; result = IntWithStepsOfTeXForm[ Int[lst[[1, 1]], lst[[1, 2]]] ] ; And now the result does not work. Screen shot !Mathematica graphics $\endgroup$ – Nasser May 9 '20 at 23:46
  • $\begingroup$ fyi, I posted separate question on this here mathematica.stackexchange.com/questions/221547/… I could not find solution myself. $\endgroup$ – Nasser May 10 '20 at 1:41
  • $\begingroup$ @Nasser IntWithStepsOfTeXForm[Int[#, x]] & /@ {Sin[x], Cos[x]/x^2, Sin[x]/x^2} // MaTeX can work. $\endgroup$ – wuyudi May 10 '20 at 4:05

A better version is here:


I found this option:

RubiPrintInformation -> False

And then write this:

SetAttributes[IntWithStepsOfTeXForm, {HoldFirst}];
IntWithStepsOfTeXForm[j_] := 
 With[{TeX2Str = Convert`TeX`ExpressionToTeX},
  Steps[j, RubiPrintInformation -> False] //
         Flatten //
        Most //
       Select[Head@# =!= RubiRule &] //
      # /. RubiIntermediateResult[x_] -> x & //
     (*ToString@*TeXForm is OK*)
     Map["=&" <> (TeX2Str[HoldForm @@ #]) <> "\\\\" &] //
    # /. {a___} -> {
        "\\end{aligned}"} & // StringRiffle

This function returns a string.


Or use Print and then copy the result to clipboard for following use.

enter image description here


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.