MATLAB: How to stop latex interpreter from being in italics

latex interpreterlatex italics

I needed to have an xlabel of 'u' with an overbar and the only way I found to do it is using Latex interpreter, however it displays it in italics which I don't want.
Is there a way to change this?
xlabel(['$(\overline {u}) (m/s)','$'],'interpreter','latex')

Best Answer

Hi Roederer,
The overline on u would be there due to the fonts being used during the LaTeX interpreter.
But there's a way out if you want the interpreter to use a non-italic font. For this, you need to encapsulate the expression with \mathrm{} like below:
xlabel(['$(\mathrm{\overline{u}})(m/s)$'],'interpreter','latex')
I have tested this for the \overlibe{} case and it works, and it should ideally work in all cases, but keep in mind that it may not work in some complex cases.
However, if you need the rest of the text (besides u) to be without the italics, you can only surround u with $ and leave the rest as-is. Those characters will be un-italicised as they are not rendered in the "math" mode.
Ex:
xlabel(['($\overline {u}$) (m/s)'],'interpreter','latex')
Or maybe a combination of the 2 things above would return you the expected results.
Hope that helps your case!
Related Question