This seems to be a simple, but useful question.
I am plotting a basic function:
multiplier = 10^11;
func = 10^-11 x^2;
Plot[func*multiplier, {x, 0, 5},
AxesLabel -> {x, "Distance, \!\(\*SuperscriptBox[\(10\), \(-11\)]\) m"}]
That gives the result I wish to see.
Imagine now that I wish not to write the multiplier manually in AxesLabel when I change it. The inverse multiplier needs to be converted to a string with an exponent (so as to produce the same final appearance). I have tried the ToString function with some parameters. For example:
multiplier = 10^11;
func = 10^-11 x^2;
Plot[func*multiplier, {x, 0, 5},
AxesLabel ->
{x, "Distance, " <> ToString[multiplier^(-1), FormatType -> StandardForm] <> " m"}]
But I get an awful label.
Could you think of a solution to this problem?
Can anyone think of why conversion to real numbers by "N" is necessary and if not how can it be avoided?


"Distance, " <> ToString[N[multiplier^(-1)]can be acceptable. – C. E. Jul 30 '13 at 16:02