I need to create a two-line title in a MATLAB plot, using LaTeX in each of the lines.
title({'first line','second line'})
works, but not with LaTeX. In a single line MATLAB title, LaTeX is understood as in the example:
title(['$y=x^2$'],'interpreter','latex')
I have tried many things, but I haven't managed to have MATLAB produced a multi-line title with LaTeX in those lines.
To enter multiple lines before running any of them, use Shift+Enter or Shift+Return after typing a line. This is useful, for example, when entering a set of statements containing keywords, such as if ... end. The cursor moves down to the next line, which does not show a prompt, where you can type the next line.
This is done by separating each string line of text with a comma and enclosing all comma-separated strings in curly braces as follows. The 10 outside the single quotes is the ascii value for a newline.
If you run
title({'$y=x^2$','$y=x^2$'},'interpreter','latex')
you will get a two-line title with correct LaTeX-ification.
Up to version R2017a, using a cell array, as suggested by other answers, forced left alignment. This seems to have been fixed in R2017b.
You can wrap the title in a LaTeX tabular environment:
figure;
plot((1:5).^2);
title('\begin{tabular}{c} first_line \\ second_line \end{tabular}', ...
'interpreter', 'latex')
This will let you choose text alignment. Replace {c}
with either {r}
or {l}
, for right and left aligned text, respectively.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With