Warning: Unable to interpret LaTeX string
Afficher commentaires plus anciens
hi. i want to make a text annotation including this text:
eval(['text1=''\underline{Row #', num2str(j), '}'';'])
annotation('textbox', [a b c d] , 'String', text1, 'VerticalAlignment', 'middle', 'HorizontalAlignment', 'center', 'Color', 'k', 'EdgeColor', 'k', 'BackgroundColor', 'white', 'FontWeight', 'bold', 'FontSize', 15, 'interpreter','latex');
i get an error: Warning: Unable to interpret LaTeX string "\underline{Row #1}"
how can i solve this?
thanks. Noa
5 commentaires
noa
le 20 Sep 2012
Jan
le 20 Sep 2012
Btw. Please do you the favour and omit the eval(). Simply type:
text1 = sprintf('\underline{Row #%d}', j);
noa
le 20 Sep 2012
Jan, it should be:
text1 = sprintf('\\underline{Row #%d}', j);
But there is more to it than that. See my answer below.
Jan
le 20 Sep 2012
@noa: And? Did you follow the advice to read "help sprintf" to find out, that a \\ is required to create a \ in the output string? Or do you try that it is my turn to find this out?
@Matt: Thanks.
Réponses (2)
First of all you really should learn to use SPRINTF instead of EVAL. Please look at the help for SPRINTF and do not use EVAL in your code.
J = 5;
text1 = sprintf('$$\\underline{Row\\#\\;%i }$$',J);
text(.5,.5,text1,'interpreter','latex')
Or if J is a floating point number and not an integer:
J = 5.34;
text1 = sprintf('$$\\underline{Row\\#\\;%2.2f }$$',J);
text(.5,.5,text1,'interpreter','latex')
text(0.5, 0.5, '\underline{Hello World}','interp','latex')
I cannot test this currently, but Daniel's answer sounds, like this is not working.
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!