LaTex Interpreter does not work correctly?

71 vues (au cours des 30 derniers jours)
Thomas Lex
Thomas Lex le 29 Déc 2022
Commenté : Cameron le 30 Déc 2022
Dear Helpers,
I'd like to plot some data and annotate the YAxis according to the following code using the latex interpreter:
plot(Tx',drhodT','LineWidth',1.5)
legend(LoF,'Location','eastoutside')
grid on
xlabel('Temperature [K]')
ylabel('$\frac{\partial\rho}{\partial T}$ [kg/m³/K]','Interpreter','latex')
When plot appears, also following error message is enclosed.
I wonder why the error message shows two backslashed instead of one single backslash which I coded.How to rectify this problem.
Looking forward to receiving your suggestions.
Best regards
Tom

Réponse acceptée

Walter Roberson
Walter Roberson le 29 Déc 2022
ylabel('$\frac{\partial\rho}{\partial T} [kg/m^3/K]$','Interpreter','latex')
The ³ character is not accepted for latex
To correct for that you need to use ^ but that is only accepted inside $$
You should probably rewrite the unit using frac
  3 commentaires
Cameron
Cameron le 29 Déc 2022
Déplacé(e) : Walter Roberson le 29 Déc 2022
Walter's answer works for me.
plot(1:20,rand(1,20),'LineWidth',1.5)
legend('data','Location','eastoutside')
grid on
xlabel('Temperature [K]')
ylabel('$\frac{\partial\rho}{\partial T} [kg/m^3/K]$','Interpreter','latex')
Which version of MATLAB are you using?
Walter Roberson
Walter Roberson le 29 Déc 2022
Modifié(e) : Walter Roberson le 29 Déc 2022
Let us experiment:
figure()
subplot(1,4,1)
ylabel('\frac{\partial\rho}{\partial T} kg/ m³', 'interpreter', 'latex'); title('A1');
subplot(1,4,2)
ylabel('$\frac{\partial\rho}{\partial T} kg/ m³$', 'interpreter', 'latex'); title('A2');
subplot(1,4,3);
ylabel('\frac{\partial\rho}{\partial T} kg/ $m³$', 'interpreter', 'latex'); title('A3');
subplot(1,4,4);
ylabel('$\frac{\partial\rho}{\partial T} kg/$ m³', 'interpreter', 'latex'); title('A4');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
$\frac{\partial\rho}{\partial T} kg/$ m³
figure()
ylabel('m³', 'interpreter', 'latex'); title('AA1');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:

figure()
ylabel('$m³$', 'interpreter', 'latex'); title('AA2');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
$m³$
figure()
ylabel('m^3', 'interpreter', 'latex'); title('AA3')
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
m^3
figure()
subplot(1,4,1)
ylabel('\frac{\partial\rho}{\partial T} kg/ m^3', 'interpreter', 'latex'); title('B1');
subplot(1,4,2)
ylabel('$\frac{\partial\rho}{\partial T} kg/ m^3$', 'interpreter', 'latex'); title('B2');
subplot(1,4,3)
ylabel('\frac{\partial\rho}{\partial T} kg/ $m^3$', 'interpreter', 'latex'); title('B3');
subplot(1,4,4)
ylabel('$\frac{\partial\rho}{\partial T} kg/$ m^3', 'interpreter', 'latex'); title('B4');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
$\frac{\partial\rho}{\partial T} kg/$ m^3
figure();
subplot(1,4,1)
ylabel('\frac{\partial\rho}{\partial T} kg/ m³', 'interpreter', 'tex'); title('C1');
subplot(1,4,2)
ylabel('$\frac{\partial\rho}{\partial T} kg/ m³$', 'interpreter', 'tex'); title('C2');
subplot(1,4,3)
ylabel('\frac{\partial\rho}{\partial T} kg/ $m³$', 'interpreter', 'tex'); title('C3');
subplot(1,4,4)
ylabel('$\frac{\partial\rho}{\partial T} kg/$ m³', 'interpreter', 'tex'); title('C4');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
$\frac{\partial\rho}{\partial T} kg/$ m³
figure();
subplot(1,4,1)
ylabel('\frac{\partial\rho}{\partial T} kg/ m^3', 'interpreter', 'tex'); title('D1');
subplot(1,4,2)
ylabel('$\frac{\partial\rho}{\partial T} kg/ m^3$', 'interpreter', 'tex'); title('D2');
subplot(1,4,3)
ylabel('\frac{\partial\rho}{\partial T} kg/ $m^3$', 'interpreter', 'tex'); title('D3');
subplot(1,4,4)
ylabel('$\frac{\partial\rho}{\partial T} kg/$ m^3', 'interpreter', 'tex'); title('D4');
Warning: Error updating Text.

String scalar or character vector must have valid interpreter syntax:
$\frac{\partial\rho}{\partial T} kg/$ m^3
You can see from AA1 and AA2 that you can include the ³ character in latex, and it will give you the ³ output, but that it will generate the warning message regardless of being inside $$ or not.
You can see that the only one of these that works as you would hope is B2: $\frac{\partial\rho}{\partial T} kg/ m^3$ intepreter latex.
You can see from the A series that when the ³ character is included, that the entire string goes uninterpreted and is just put up (some as if you used interpreter 'none')
You can also see that when you use ^ to get the raised 3, then that can work -- but only if you are inside $$

Connectez-vous pour commenter.

Plus de réponses (1)

Thomas Lex
Thomas Lex le 30 Déc 2022
Hello Walter, hello Cameron,
thanks for your contributions.
Interesting insights. Obiously Matlab is very sensitive on what is written within the '...' when Interpreter ist activated for LaTex Following label worked fine
ylabel('Dichteaenderung $\, \left.\frac{\partial\rho}{\partial T}\right|_{x=0} [kg/m^3/K]$','Interpreter','latex')
But the line
ylabel('Dichteänderung $\, \left.\frac{\partial\rho}{\partial T}\right|_{x=0} [kg/m^3/K]$','Interpreter','latex')
did not work even though the word Dichteänderung ist not inside the $ $ environment. Which is obviouly due to the ä and which is the case for the ³. Both are non standard ascii characters.
Thanks a lot to you guys, who helped me to improve my Matlab knowledge!
My conclusion: When Latex-Interpreter is activated for text, labels, tilles etc., never use any non standard ascii character inside the inverted commas ' ' .
I would be happy to see this statement in the correspondent Matlab Help Center pages.
Best regards
Tom
  1 commentaire
Cameron
Cameron le 30 Déc 2022
This worked for me.
ylabel('$Dichte\ddot{a}nderung \, \left.\frac{\partial\rho}{\partial T}\right|_{x=0} [kg/m^3/K]$','Interpreter','latex')

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by