Fonts with latex interpreter and no interpreter look different

When I use the latex interpreter to make a title with, for example $\frac{1}{2}$, the font for the title looks different to the font for the axes tick labels. How can I make the axis tick labels and title have the same looking font? For example:

plot(1,1)
title('Title with latex character $\frac{1}{2}$',...
'interpreter','latex','FontName','Times New Roman')
set(gca,'FontName','Times New Roman')

This is a problem because now the title (that must be latex interpreted to get the $\frac{1}{2}$) looks different to the axes. As far as I'm aware, one cannot set the interpreter for the axes to be 'latex'.

Thanks, Mark

 채택된 답변

Matt Tearle
Matt Tearle 2011년 3월 23일
You can use the 'latex' interpreter option on the axis labels:
xlabel('hello world','interpreter','latex')
Do you mean the actual tick labels?
EDIT to add:
OK, try this:
set(gca,'FontName','cmr12')
This uses the LaTeX font. It should exist on your system, if LaTeX typesetting is working. I don't know if there's a high-level version of the name. ("Computer Modern Roman" doesn't work for me.)
If you go to C:\Program Files\MATLAB\R2011a\sys\fonts\ttf\cm (or wherever your MATLAB install lives) you can see the available TeX fonts.

댓글 수: 5

Sorry that I seem to be terrible at phrasing questions accurately! Yes I mean the tick labels.
Aha! See edit above :)
Thanks Matt!
You saved me a lot of time searching it on the web in other related posts.
Best regards!
Thanks a lot Matt! You solution save a lot of my time!
In the folder you wrote, there're lots of fonts belonging to "Computer Modern" family, which are default fonts that Latex uses.
If one wants to change the font to be the Latex math font, it is called "mwa_cmmi10". cmmi means computer modern math italic, then you can directly get the Latex math font, and you don't need to use the nassty "Latex" interpreter command. You can also use "mwa_cmmi10" and "Helvetica" even within one label!
Really excellent!
For example, try the following:
xlabel('\fontname{mwa_cmmi10}xyz \fontname{Helvetica}Helvetica').
Really magic!

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Oleg Komarov
Oleg Komarov 2011년 3월 23일
Des using Tex (default) help?
title('2 1.8 1.6 Title with latex character \pi')

댓글 수: 1

Thanks for your answer Oleg.
I should clarify that when I initially wrote \pi I chose a bad example, as I often require real latex commands like $\frac{1}{2}$. The Tex interpreter, while it works well for Greek letters, cannot interpret more complicated markups.
I have edited my question so that this is more clear.

댓글을 달려면 로그인하십시오.

Hi there!
Try to write \rm after the first $$, followed by the rest of the text. I give you an example:
Ejey = '$$\rm\dot{m}$$/ kg s$$^{-1}$$';
ylabel(Ejey2,'Interpreter','latex')
I know it´s an old post, but there isn´t information about it, and that code worked for me.
I hope it helped!

카테고리

도움말 센터File Exchange에서 Labels and Annotations에 대해 자세히 알아보기

질문:

2011년 3월 22일

답변:

2024년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by