Warning: Unable to interpret LaTeX string
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Jan
2012-9-20
@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.
回答(2 个)
Matt Fig
2012-9-20
编辑:Matt Fig
2012-9-20
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')
0 个评论
Jan
2012-9-20
编辑:Jan
2012-9-20
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.
2 个评论
Jan
2012-9-20
@noa: This happens, when you use "text" as name of a variable:
clear('text');
text(0.5, 0.5, 'hello');
text = 'any string';
text(0.5, 0.5, 'hello');
Solution: do not use names of Matlab functions as variables.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!