latex interpreter sprintf issue

131 views (last 30 days)
I would like insert text in my figure y = 10mm_x=1, I tried as follows, but it throws below error
Suggestions please !!
String scalar or character vector must have valid interpreter syntax: $Y= 10mm
text(0.7,1.05,(sprintf('$Y= 10mm\_{x} = %dmm$', i)),'FontSize',16,'Color','black','Interpreter','latex');

Accepted Answer

Voss on 15 Feb 2022
Edited: Voss on 15 Feb 2022
Since there is a backslash (for the latex format) inside the sprintf format string, you must escape it (i.e., put another backslash before it) so that sprintf() doesn't interpret it as a format specifier:
i = 1;
text(0.7,1.05,(sprintf('$Y= 10mm\\_{x} = %dmm$', i)),'FontSize',16,'Color','black','Interpreter','latex');

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by