Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK 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
Jun 2, 2007
6
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
 
Replies continue below

Recommended for you

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