在MATLAB'中固定额外空间;s标题图

在MATLAB'中固定额外空间;s标题图,matlab,latex,matlab-figure,eps,Matlab,Latex,Matlab Figure,Eps,我正在为我的论文撰写结果,其中包括使用MATLAB代码为我的LaTeX文档生成图形。我通过制作数据的图形来实现这一点,然后使用print命令保存在一个EPS文件中 问题在于MATLAB窗口中的绘图是正确的,如您在此处所见: 但当我用LaTeX(Lyx)编译文档时,结果是: 正如您所看到的,我在“iLm”标题中有一个意想不到的大额外空间。当我在不同信号的标签中使用LaTeX代码时,也会发生同样的情况 在web中搜索时,我尝试了以下命令: set(groot,'DefaultTextInterp

我正在为我的论文撰写结果,其中包括使用MATLAB代码为我的LaTeX文档生成图形。我通过制作数据的图形来实现这一点,然后使用
print
命令保存在一个EPS文件中

问题在于MATLAB窗口中的绘图是正确的,如您在此处所见:

但当我用LaTeX(Lyx)编译文档时,结果是:

正如您所看到的,我在“iLm”标题中有一个意想不到的大额外空间。当我在不同信号的标签中使用LaTeX代码时,也会发生同样的情况

在web中搜索时,我尝试了以下命令:

set(groot,'DefaultTextInterpreter','latex');
但只是像我在代码中写的那样打印“iL_m”。如何使EPS文件中的间距一致

以下是我使用的代码:

clear h n
figure(1)
h(1) = plot(iLmVal.time,iLmVal.data(:,2),'LineWidth',1,'color','k','DisplayName','Modelo');
hold on
h(2) = plot(iLmVal.time,iLmVal.data(:,4),'LineWidth',1,'color','r','DisplayName','Circuito');
legend(h,'Location','southeast'),...
axis([0 0.06 -18 27]),title("Corriente de magnetización iL_m",'FontSize',20,'FontName','Times-Roman'),...
set(gca,'Color','white');
set(gca,'XTick',0:0.005:0.06),...
    set(gca,'XTickLabel',0:5:60,'FontSize',20,'FontName', 'Times-Roman','XMinorGrid','on'),...
    xlabel('Tiempo [ms]','FontSize',20,'FontName', 'Times-Roman'),...
set(gca,'YTick',-18:4:28),...
    set(gca,'YTickLabel',-18:4:28,'FontSize',20,'FontName', 'Times-Roman','YMinorGrid','on'),...
    ylabel('Corriente [A]','FontSize',20,'FontName', 'Times-Roman'),...
    n = gca;
    n.YAxis.MinorTick = 'on'; n.YAxis.MinorTickValues = -18:1:28;
    n.XAxis.MinorTick = 'on'; n.XAxis.MinorTickValues = 0:0.0025:0.07;
    grid on; hold off

我使用的是MatlabR2018A和LYX2.3.2-2。此外,使用PNG打印不会出现此问题,但质量和分辨率非常差。

我认为这与LyX无关,您应该在导出的EPS文件中看到此问题。您可以使用不同的字体修复此问题

正如您在MATLAB中的图的外观中所看到的,其中标题是使用无衬线字体(绝对不是“Times Roman”)显示的,MATLAB不识别“Times Roman”字体,而是使用其他字体进行渲染。此替代字体用于确定下标的位置,下标的位置由MATLAB独立于正文进行定位。但是,此字体名称会写入EPS文件。在不同程序中呈现EPS文件时,会识别“Times Roman”字体并用于呈现文本。由于此字体与MATLAB使用的字体具有不同的度量,因此下标的位置不正确

打印为PNG时,MATLAB会创建位图,因此不会出现此问题


在我的电脑(macOS)上,傻瓜会在屏幕上产生正确的表示:

title(“Corriente de Magneticación iL_m”、'FontSize',20、'FontName','Times')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','Times-Roman')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','TimesRoman')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','Times New Roman')
以下内容不适用:

标题(“Corriente de Magneticación iL_m”、'FontSize',20、'FontName','Times Roman')
在不同的计算机上,可以使用不同的字体名称。使用计算机上可识别的名称。您最好的选择是“Times”,这是该字体的PostScript名称,应该在任何地方都能识别



或者,使用。这是一个将MATLAB图形导出到EPS的好工具。它不仅可以修复您的字体,还可以进行许多其他小调整,以改善您的图形外观。

我认为这与LyX无关,您应该在导出的EPS文件中看到此问题。您可以使用不同的字体修复此问题

正如您在MATLAB中的图的外观中所看到的,其中标题是使用无衬线字体(绝对不是“Times Roman”)显示的,MATLAB不识别“Times Roman”字体,而是使用其他字体进行渲染。此替代字体用于确定下标的位置,下标的位置由MATLAB独立于正文进行定位。但是,此字体名称会写入EPS文件。在不同程序中呈现EPS文件时,会识别“Times Roman”字体并用于呈现文本。由于此字体与MATLAB使用的字体具有不同的度量,因此下标的位置不正确

打印为PNG时,MATLAB会创建位图,因此不会出现此问题


在我的电脑(macOS)上,傻瓜会在屏幕上产生正确的表示:

title(“Corriente de Magneticación iL_m”、'FontSize',20、'FontName','Times')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','Times-Roman')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','TimesRoman')
标题(“Corriente de Magneticación iL_m”,'FontSize',20,'FontName','Times New Roman')
以下内容不适用:

标题(“Corriente de Magneticación iL_m”、'FontSize',20、'FontName','Times Roman')
在不同的计算机上,将提供不同的字体名称。使用计算机上可识别的名称。您最好的选择是“Times”,这是该字体的PostScript名称,应该在任何地方都能识别



或者,使用。这是一个将MATLAB图形导出到EPS的好工具。它不仅可以修复您的字体,还可以进行许多其他小调整,以改善您的图形外观。

谢谢,正如您所说,我将“Times”改为“Times Roman”,而且效果很好,图形中的字体也改为“Times”。在我的文档中没有什么大不了的,我终于得到了“iLm”的正确表示形式。谢谢,正如你所说,我改为“Times”,而不是“Times Roman”,而且效果很好,图中的字体也改为“Times”。在我的文档中没有什么大不了的,我终于得到了“iLm”的正确表示形式