The reason of your troubles is the fact that E is not available as a variable in Mathematica but is assigned for the exp(1). A similar problem occurs when trying to use D (differential operator), I (imaginary unit), N (numerical evaluation), Pi (famous constant) as variables. This can often be frustrating, especially when using Mathematica for basic physics. Others here may have suggestions as how to accomodate this design decision. Here are my 2 cents.
Your call:
ToExpression[" stuff ", TeXForm]
is used to produce a Mathematica expression from a TeX expression. E is automatically converted to the e constant (although E is a Mathematica convention, not a TeX one) and displayed accordingly.
ToExpression["Energy = m c^2", TeXForm]
should work as expected, but I do not know an efficient way to have a variable which looks correctly like a capital E without resorting to special characters. And in this case there is no much point to using ToExpression to convert it from TeXForm.
You can enter a special E, usable as a variable if you type ( is the Escape key at the upper left of your keyboard):
<esc>E<esc> == m c^2
for instance (after typing the second esc, you will see a capital E, slightly less
bold than the normal font) or
<esc>E<esc> = 10
to assign an immediate value.
Then each time you will enter E in an equation it will be treated as a variable or as its value if you give it one.
TraditionalForm["<esc>E<esc>"]
works as expected.
E
is addressed in ogerard's answer. $\endgroup$TexForm
as I mention in the second link above:ToExpression["U = mc^2", TeXForm, HoldForm]
. I used a letterU
that doesn't have a built-in meaning. $\endgroup$