MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

New to MATLAB?

Warning: Unable to interpret LaTeX string

noa (view profile)

on 20 Sep 2012

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

noa

noa (view profile)

on 20 Sep 2012

Warning: Invalid escape sequence appears in format string. See help sprintf for valid escape sequences

Matt Fig

Matt Fig (view profile)

on 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 Simon

Jan Simon (view profile)

on 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.

Products

No products are associated with this question.

Matt Fig (view profile)

on 20 Sep 2012
Edited by Matt Fig

Matt Fig (view profile)

on 20 Sep 2012

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')
```

Jan Simon (view profile)

on 20 Sep 2012
Edited by Jan Simon

Jan Simon (view profile)

on 20 Sep 2012
```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.

noa

noa (view profile)

on 20 Sep 2012

??? Subscript indices must either be real positive integers or logicals.

Jan Simon

Jan Simon (view profile)

on 20 Sep 2012

@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.