Best practice for implementing LaTeX thin space within axis label

36 visualizzazioni (ultimi 30 giorni)
The following formulation for a mixed latex and non-latex string to be rendered with the latex interpreter works well; the rendered output is exactly as I expect.
x_label_str = ['time [', '$\,$', 's', '$\,', ']'];
y_label_str = ['intensity [', '$\,{\mu}$', 'V', '$\,$', ']'];
Matlab, however responds with:
Warning: Error updating Text.
String scalar or character vector must have valid interpreter syntax
When one replaces \, with \hspace{0.5em} for example, the same response is returned by the compiler.
Why? And is there a better approach for the same effect?

Risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 26 Mar 2023
Here is the solution:
t=linspace(0, 2*pi);
h = sin(t);
figure
plot(t,h)
xlabel('$time \ [ \ s\ ]$', 'Interpreter','latex');
ylabel('$intensity \ [ \ \mu V\ ]$', 'Interpreter','latex');
  2 Commenti
Chris L'Esperance
Chris L'Esperance il 28 Mar 2023
Thanks for the reply! What is the reasoning behind the \ symbols? The objective is to render the parameter name text outside of the strings which are rendered as math, hence the comma strings within the array of strings. Note that the .pdf resulting from a call from a function such as export_fig must preserve the formatting / spacing appearing in the MATLAB figure window.
Sulaymon Eshkabilov
Sulaymon Eshkabilov il 28 Mar 2023
Modificato: Sulaymon Eshkabilov il 2 Set 2024
\ in latex gives a single blank space between the symbols, briewfly speaking.

Accedi per commentare.

Tag

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by