sprintf with latex problem
101 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
xtremecheez
am 29 Mär. 2018
Kommentiert: Amirali Kamalian
am 30 Dez. 2019
I just cannot figure out what the problem is with this line, please help. I get this warning sometimes:
Warning: Error updating Text.
Character vector must have valid interpreter syntax:
$ρ_t = 0.26ρ_f, θ_0 = 90°$
Regardless, the subscripts never take. Here is the problematic line:
title(sprintf('$%c_t=%.2f%c_f,%c_0=%2.0f%c$',961,idens,961,952,iang*180/pi,176),'Interpreter','latex');
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 29 Mär. 2018
latex cannot have any characters with position greater than 255. That is violated by your 961 (rho) and 952 (theta).
Use \rho and \theta
3 Kommentare
Weitere Antworten (1)
Amirali Kamalian
am 30 Dez. 2019
Bearbeitet: Amirali Kamalian
am 30 Dez. 2019
I have a problem quite similar to this:
pltt = '%1.0u: %4u $^{\circ}$C, %4u kg/h';
...
title(sprintf(pltt, j, T, Q),'FontSize', 12,'Interpreter','latex')
When executing this code, I get the following warning:
"String scalar or character vector must have valid interpreter syntax". Furthermore,
"Warning: Escaped character '\c' is not valid."
Any ideas how to fix this?
2 Kommentare
Stephen23
am 30 Dez. 2019
You forgot to escape the backslash, i.e. \\circ instead of \circ. This is because you are supplying pltt as the format string to sprintf, so any special characters in it that you want to be treated as literal characters will need to be escaped: you should always check the output of sprintf before using it.
Siehe auch
Kategorien
Mehr zu Labels and Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!