MATLAB Answers

AA
0

Center align multi-line title in latex format

Asked by AA
on 21 Apr 2018
Latest activity Commented on by AA
on 21 Apr 2018
Hello, I would like to center align a multi-line title, but in latex format. I am currently using this
title_str1 = sprintf('$\\gamma=%s, k=%d, \\alpha_k=\\epsilon_k=%s=%s$', num2str(gamma), k, ...
func2str(alpha_k_fun), num2str(alpha_k));
title_str2 = sprintf('Trial-%d, $s_k=%d, a_k=%d$(%s)',trial, state_curr, a_k, A_actions{a_k});
title({title_str1, title_str2}, 'Interpreter', 'Latex', 'FontSize', 14); drawnow, hold off;
But, this makes the second line left-aligned. Any suggestions please?

  0 Comments

Sign in to comment.

1 Answer

Answer by Are Mjaavatten on 21 Apr 2018
 Accepted Answer

Using Latex forces left-alignment of lines in cell array of strings . (This may have been changed in the newest versions of Matlab. I use 2014b.) I think you can get most (or all) the effects you need by using the standard Tex formatting, which will center both lines. Example:

str1 = sprintf('\\gamma = %3.1f',1.4);
str2 = sprintf('s_k=%d, a_k=%d',2,3)
figure;title({str1,str2});

  1 Comment

Thank you! It solved the purpose! However, LaTex looks a bit neater in terms of mathematical display. For e.g. the symbol 'k' is simply a text symbol now.

Sign in to comment.