Fonts with latex interpreter and no interpreter look different

111 visualizzazioni (ultimi 30 giorni)

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

Risposta accettata

Matt Tearle
Matt Tearle il 23 Mar 2011
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 Commenti
Yongqi Shi
Yongqi Shi il 21 Gen 2024
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!
Yongqi Shi
Yongqi Shi il 21 Gen 2024
For example, try the following:
xlabel('\fontname{mwa_cmmi10}xyz \fontname{Helvetica}Helvetica').
Really magic!

Accedi per commentare.

Più risposte (2)

Oleg Komarov
Oleg Komarov il 23 Mar 2011
Des using Tex (default) help?
title('2 1.8 1.6 Title with latex character \pi')
  1 Commento
Mark
Mark il 23 Mar 2011
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.

Accedi per commentare.


ABRAHAM TRIGO MANZANO
ABRAHAM TRIGO MANZANO il 18 Mar 2024
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!

Categorie

Scopri di più su Labels and Annotations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by