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!

回答(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 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Graphics Object Properties 的更多信息

产品

版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by