How to create an underline in text

Given ist following legend:
legend('Group 6 MHz \newline{\bff_1} \newline2f_2-f_3 \newlinef_2+f_3-f_4 ', ...
'\newlineGroup7.3 MHz \newline{\bff_2} \newline2f_3-f_4 \newlinef_1+f_3-f_2 \newlinef_1+f_4-f_3 ', ...
'\newlineGroup8.7 MHz \newline{\bff_3} \newline2f_2-f_1 \newlinef_2+f_4-f_3 \newlinef_1+f_4-f_2 ', ...
'\newlineGroup10 MHz \newline{\bff_4} \newline2f_3-f_2 \newlinef_2+f_3-f_1 ','location','northeastoutside')
A total of four graphs with corresponding sub-labels are to be shown here. I want the first line (Group 6 MHz, Group7.3 MHz ...) to be underlined. Does somebody has any idea?
Many thanks!

 Accepted Answer

legend(' $\underline{Mepe}$ ','interpreter','latex')

8 Comments

Many thanks!
but how do I get that integrated with the other legend so that it looks like this?
legend( {'$\underline{Group 6 MHz} \newline{\bff_1} \newline{2f_2-f_3} \newline{f_2+f_3-f_4} $', ...
'$\underline{Group7.3 MHz} \newline{\bff_2} \newline{2f_3-f_4} \newline{f_1+f_3-f_2} \newline{f_1+f_4-f_3} $', ...
'$\underline{Group8.7 MHz} \newline{\bff_3} \newline{2f_2-f_1} \newline{f_2+f_4-f_3} \newline{f_1+f_4-f_2} $', ...
'$\newline{Group10 MHz} \newline{\bff_4} \newline{2f_3-f_2} \newline{f_2+f_3-f_1} $'}, ...
'location', 'northeastoutside', 'interpreter', 'latex')
Thanks Walter,
Unfortunately, the following picture emerges:
Any idea?
Darn, I could not seem to get anything working.
But looking around, it appears that line breaks in math mode is a difficult topic in tex and latex. ams-math package apparently helps some, but you cannot use amsmath in MATLAB legends :(
Yes completely agree, such a simple task is really complex. Will MathWorks enhance these features in the future :( ?
Ok, no problem. Thanks for your efforts!
I do not understand why Mathworks does not enable \usepackage .
The only thing I have been able to come up with is that perhaps adding packages would make it more difficult to figure out the rendered size of items in order to know how to space text and ticks and legend entries.
Very true perspective.

Sign in to comment.

More Answers (1)

shows the latex code example
\left [\begin {array}{ccc} 1&2&3\\\noalign{\medskip}4&5&6\\\noalign{\medskip}7&8&9\end {array}\right ]
and that works in MATLAB:
plot(rand(1,5));
h = legend('$\left [\begin {array}{ccc} 1&2&3\\\noalign{\medskip}4&5&6\\\noalign{\medskip}7&8&9\end {array}\right ]$', 'interpreter','latex')
So...
S = { '$\begin{array}{l}\underline{Group 6 MHz}\\{\medskip}\bf{f_1}\\{\medskip}2f_2-f_3\\{\medskip}f_2+f_3-f_4\end {array}$', ...
'$\begin{array}{l}\underline{Group7.3 MHz}\\{\medskip}\bf{f_2}{\medskip}2f_3-f_4\\{\medskip}f_1+f_3-f_2\\{\medskip}f_1+f_4-f_3\end {array}$', ...
'$\begin{array}{l}\underline{Group8.7 MHz}\\{\medskip}\bf{f_3}\\{\medskip}2f_2-f_1\\{\medskip}f_2+f_4-f_3\\{\medskip}f_1+f_4-f_2\end {array}$', ...
'$\begin{array}{l}\underline{Group10 MHz}\\{\medskip}\bf{f_4}\\{\medskip}2f_3-f_2\\{\medskip}f_2+f_3-f_1\end {array}$' };
legend(S, 'location', 'northeastoutside', 'interpreter', 'latex')
You will want to work on the vertical spacing a bit.

3 Comments

madhan ravi
madhan ravi on 4 Jul 2020
Edited: madhan ravi on 4 Jul 2020
I am pretty sure I tried with array but never seemed to get it right, but turns out arrays should be used for EACH legend entries, thanks sir Walter!
I tried with array myself, but I could not get it to work before. I think the major part I was missing was the column alignment information immediately after the \begin{array}

Sign in to comment.

Asked:

on 28 Jun 2020

Commented:

on 4 Jul 2020

Community Treasure Hunt

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

Start Hunting!