6

我在 OS X 10.7.5 上运行 Matlab R2010A

我有一个简单的 matlab 图,想在轴和图例中使用 LaTeX 命令。但是设置:

set(0, 'defaultTextInterpreter', 'latex');

效果为零,并导致无法解析我的 tex 命令的 TeX 警告。如果我打开这个绘图的绘图工具,默认解释器设置为“TeX”。手动将其设置为“LaTeX”显然可以解决此问题,但我无法为数百个地块执行此操作。

现在,如果我通过 Matlab 提示符检索默认解释器,即 get(0,'DefaultTextInterpreter')

它说'LaTeX',但是当我通过绘图工具菜单查看图形的属性时,解释器仍然设置为'TeX'。

完整的绘图代码:

figure
f = 'somefile.eps'
set(0, 'defaultTextInterpreter', 'latex'); 
ms = 8;
fontSize = 18;
loglog(p_m_sip, p_fa_sip, 'ko-.', 'LineWidth', 2, 'MarkerSize', ms); hold on;
xlabel('$P_{fa}$', 'fontsize', fontSize);
ylabel('$P_{m}$', 'fontsize', fontSize);
legend('$\textbf{K}_{zz}$', 'Location', 'Best');
set(gca, 'XMinorTick', 'on', 'YMinorTick', 'on', 'YGrid', 'on', 'XGrid', 'on');
print('-depsc2', f);
4

1 回答 1

15

这对我有用(R2011B)

figure
ms = 8;
fontSize = 18;

xx = 0:.1:1;
plot(xx,sin(xx))

xlabel('P_{fa}', 'fontsize', fontSize);  %No need for latex explicitly (Tex is enabled by default)
ylabel('P_{m}', 'fontsize', fontSize);

legend({'$$\textbf{K}_{zz}$$'}, 'interpreter', 'latex','fontsize',fontSize); %Explicit latex
      %REM: legend needs a cell

在此处输入图像描述

我能改变'defaultTextInterpreter'

set(0, 'defaultTextInterpreter', 'latex'); 

xlabel('$$P_{fa}$$', 'fontsize', fontSize);
ylabel('$$P_{m}$$', 'fontsize', fontSize);

legend({'$$\textbf{K}_{zz}$$'},'interpreter', 'latex','fontsize',fontSize)

获得更好的版本

在此处输入图像描述

但是,如果我'interpreter', 'latex'legend通话中删除,我会得到不好的结果:

在此处输入图像描述

于 2012-11-23T22:37:27.087 回答