How to convert the following list into a LaTeX table?


How to convert the output of the following code

In[43]:= Func[x_]:=Select[Range[x],Total[IntegerDigits[#]^3]==#&];

which is

Out[44]= {1,153,370,371,407}

to the following form

enter image description here

such that I can copy it and paste to my LaTeX document without significant hassle.


I want the output of Mathematica to be consumable for LaTeX engine.

1^3 & 1\\
1^3+5^3+3^3 & 153\\
3^3+7^3+0^3 & 370\\
3^3+7^3+1^3 & 371\\
4^3+0^3+7^3 & 407\\

kiss my armpit

Posted 2013-12-30T16:53:18.637

Reputation: 747

Do you want to generate the first column or are you after the $LaTeX$ export part? – Yves Klett – 2013-12-30T17:04:20.410

@YvesKlett: The table contents must be generated by Mathematica so I can just copy and paste. – kiss my armpit – 2013-12-30T17:06:46.767

You are aware of TeXForm? E.g. Grid[{{a, b, c}, {x, y^2, z^3}}, Frame -> All] // TeXForm ... – Yves Klett – 2013-12-30T17:08:42.473

@YvesKlett: Please show me how can you decompose each element of the list into the sum of cubes and make sure it is not evaluated. – kiss my armpit – 2013-12-30T17:11:21.973

Please add that info to your question to help understand it better. – Yves Klett – 2013-12-30T17:14:17.667

You could wait if other and better answers come in (I hope so!) and accept after a few days. Questions with accepted answers tend to attract fewer new answers... – Yves Klett – 2013-12-30T18:04:44.707



Modding the plus part from here, this could be a (somewhat awkward because you get more array than you asked for) start:

Func[x_] := Select[Range[x], Total[IntegerDigits[#]^3] == # &];
nums = Func[1000];

plus[args__] := Grid[{Riffle[{args}, "+"]}]

g = Grid[{plus @@ (IntegerDigits[#] /. x_Integer :> HoldForm[x^3]) & /@
      nums, nums} // Transpose]

Mathematica graphics


returns unnecessarily complicated output, which compiles just fine (and looks indeed much better than standard frontend output).

enter image description here

As for further styling, this is perhaps better done in your document - unless you have to do that many times over, in which case you could roll your own MyOwnTeXForm.

Side note: If everything else fails, you can install the Computer Modern fonts and use them with Style to do all the formatting in the frontend - and then export an image (not pretty, but it works).

Yves Klett

Posted 2013-12-30T16:53:18.637

Reputation: 14 743

Strange thing that Row[{args}, "+"] produces errors during converting to TeX. Moreover, Dividers result in not good TeX output. But your code is ok and adding dividers in TeX is not a big deal I suppose. – Kuba – 2013-12-30T17:58:25.770

@Kuba yes, that was the reason to switch over to Grid. – Yves Klett – 2013-12-30T18:07:09.077