LaTeX interpreter is not working correctly with code including subscripts in Control System Toolbox legends

When running the following code:
G1 = tf(1,[1,1,1]);
G2 = tf(1,[1,0.5,1]);
step(G1,G2);
h = legend('$G_1(s)$','$G_2(s)$');
h.Interpreter = "latex";
h.FontSize = 12;
We can observe that the subscripts are not displayed correctly in the legend. I would appreciate any solution for this bug. Thanks!

Answers (1)

This is Not a Bug. In LaTeX, A_bc will only treat b as a subscript. In order to include multiple symbols in a subscript (or superscript) you need to group them with curly braces.
For instance, here is A_bc: while here is A_{bc}: .

2 Comments

Thanks for your answer, but that is not the problem. Please, look at the code and the results: you will see that no subscript is displayed, nor even the first one (an underscore is displayed instead). So, yes, it is a bug of the Control System Toolbox.
In fact, there is a way to solve this: plotting something into the figure before and overwriting the legend:
figure; hold on;
plot(0,0);
plot(0,0);
G1 = tf(1,[1,1,1]);
G2 = tf(1,[1,0.5,1]);
stepplot(G1,G2);
h = legend('$G_1(s)$','$G_2(s)$');
h.Interpreter = "latex";
h.FontSize = 12;
You can see that the subscripts are correctly displayed now.

Sign in to comment.

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Products

Release

R2022a

Asked:

on 8 Aug 2022

Commented:

on 8 Aug 2022

Community Treasure Hunt

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

Start Hunting!