How to Set Text Format by User-Defined Function with Input as String

I have simple but annoying problem here. I guess it occurs to many Mathematica users.

The thing is that I wish to define a function to format the text in Mathematica. Yet, I don’t know whether it is possible.

Say if I want to make a plot with FrameLabel set, like the following script:

 Plot[x^2, {x, 0, 1}, PlotRange -> {{0, 1}, {0, 1}}], Frame -> True, AspectRatio -> 0.8,
 FrameLabel -> {Style[ToExpression["x", TeXForm, HoldForm], 18,FontFamily -> Times, Bold], 
 Style[ToExpression["x^2", TeXForm, HoldForm], 18, FontFamily -> Times, Bold]},
 RotateLabel -> False

which generate this plot

enter image description here

The thing is I have type this bothering format setting script again and again if I need to plot a lot, though the format I set every time is the very same.

Style[ToExpression["x^2", TeXForm, HoldForm], 18, FontFamily -> Times, Bold]}

Therefore, I am wondering if I can define a function to overpass such prolix script. For example,

SetStyle[input_] := Style[ToExpression[ToString[input, InputForm], TeXForm, HoldForm],18,FontFamily -> Times];

It works for superscript, but it fail in the most of the Latex input, like \theta or \frac{x}{2} and even just the subscript like x_0

anyone know how I can fix my code?

Thanks for your kind and generous suggestion.