Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Using LaTeX on matlab 1

Status
Not open for further replies.

engAnthony

Civil/Environmental
Joined
Jun 2, 2007
Messages
6
Location
PT
Hi people!!!

Can anyone tell me how to make a xlabel for a figure using LaTeX properties? I want that the xlabel is equal to the greek letter overline alpha.
I've tried something like that:
xlabel({text('interpreter','latex','string',['$\overline {\alpha}$'])})

but it didn't worked out.

Any ideas?

Regards
 
Yes, for a reason I don't understand more than you do, xlabel doesn't accept all latex commands, even if you write it as you did. My solution was to rewrite the xlabel function where it simply writes a text at the correct place. Below is the program, it's kind of brute force but it works. All the if conditions are to remove the previous label if there is one. The bottom lines after the last "end" are actually the creation of the label.

ttt give you the handle to the label and sss in the character string you want as label. Write it in standart latex, including $ for math format.

You can write the same one for ylabel. You just have to add a 90 degrees rotation to the text.

function ttt=myxlabel(sss)
xlabel(' ')
aa=get(gca,'Children');
if length(aa)==1
if(length(get(aa,'Type'))==4)
if get(aa,'Type')=='text'
ee=get(aa,'Extent');
if ee(2)<0
delete(aa)
end
end
end
else
for k=1:length(aa)
if(length(get(aa(k),'Type'))==4)
if get(aa(k),'Type')=='text'
ee=get(aa(k),'Extent');
if ee(2)<0
delete(aa(k))
end
end
end
end
end
ttt=text('Units','normalized','Interpreter','latex','FontSize',20,'fontweight','bold','String',[sss],'Position',[0.5,0],'HorizontalAlignment','center','VerticalAlignment','middle');
set(ttt,'units','Centimeters')
bb=get(ttt,'position');
set(ttt,'position',[bb(1) -1.1])
 
Don't make it so hard:

xlabel('$\bar a = 17$','interpreter','latex');
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top