ToExpression not accepting standard TeX strings

6

2

I am having trouble entering equations in TeX form. I have actually tried a bunch of different equations and gotten similar errors. For example:

ToExpression["\\int_0^\\infty e^{-x^2} dx = \\frac{\\sqrt\\pi}2",TeXForm]

enter image description here

Tyler Durden

Posted 2015-09-25T04:11:26.967

Reputation: 3 808

You need to add a thin space before the dx: ToExpression["\\int_0^\\infty e^{-x^2}\\,dx = \\frac{\\sqrt\\pi}2",TeXForm]. – Simon Rochester – 2015-09-25T04:21:17.237

@SimonRochester When I do that it returns a "ConditionalExpression", a completely wrong interpretation of the TeX string which should be an integral. – Tyler Durden – 2015-09-25T04:40:50.250

Mathematica is doing the integral, with the e interpreted as an arbitrary variable. Change the e to E and Mathematica will verify your equation. – Simon Rochester – 2015-09-25T04:45:36.677

Answers

9

You can get your equation in unevaluated form using

ToExpression["\\int_0^\\infty E^{-x^2}\\,dx = \\frac{\\sqrt\\pi}2", TeXForm, HoldForm]

which wraps the expression in HoldForm before evaluation. Note the thin space before dx, which is needed for Mathematica to properly interpret the integral syntax, and the capital E.

ToExpression["{HoldForm}[\\int_0^\\infty E^{-x^2}\\,dx = \\frac{\\sqrt\\pi}2]", TeXForm]

also works to get the held form.

Simon Rochester

Posted 2015-09-25T04:11:26.967

Reputation: 5 901