MATLAB:字体间距

MATLAB:字体间距,matlab,tex,Matlab,Tex,MATLAB中TeX排版公式中的字体间距默认为高度压缩。有没有办法增加间距的大小,例如,一个分数的分子和分母不会与分隔这两个分数的线接触 plot(1:10,rand(1,10)); set(gca,'FontSize',18); legend('$\frac{xy}{\exp\left(\frac{x}{y}\right)}$'); set(legend(),'interpreter','latex'); 我认为最简单的方法是使用一些乳胶诡计 长话短说,用乳胶$$用于内联数学,但对于显示数学

MATLAB中TeX排版公式中的字体间距默认为高度压缩。有没有办法增加间距的大小,例如,一个分数的分子和分母不会与分隔这两个分数的线接触

plot(1:10,rand(1,10));
set(gca,'FontSize',18);
legend('$\frac{xy}{\exp\left(\frac{x}{y}\right)}$');
set(legend(),'interpreter','latex');

我认为最简单的方法是使用一些乳胶诡计

长话短说,用乳胶
$$
用于内联数学,但对于显示数学,您应该使用
\[…\]
或传统方法来执行相同的
$$$$。对于LaTeX文档,不要使用后者,但对于MATLAB来说,这就足够了

内联数学和显示数学之间的区别,就像在StackOverflow中使用倒勾(``)和缩进之间的区别一样。第一个在文本之间显示代码,第二个在段落之间显示代码。有了math,只有显示模式math才能为更大的公式提供合适的布局

因此,以下代码应该可以解决您的问题:

plot(1:10,rand(1,10));
set(gca,'FontSize',18);
legend('$$\frac{xy}{\exp\left(\frac{x}{y}\right)}$$');
set(legend(),'interpreter','latex');
如果你想要更多,你可能想咨询一下,这让你开始了乳胶交易的很多技巧

编辑:
我倾向于使用幻影(
\phantom
\vphantom
\hphantom
)来提高公式中的间距,但是
\vspace
\vskip
可能使用起来更干净一些。

查看图例的属性列表,似乎没有任何方法可以指定与自动定位一致的行距。但是,您可以通过放大框来伪造行距,也可以通过更改OuterPosition属性中的最终条目(高度)来伪造行距。框的位置似乎基于其左下角,因此如果图例框位于北位置,则还需要将第二个条目(y位置)减少相等的数量

在本例中,我将一个位于北方的图例框的高度增加了25%(我发现这会产生很好的结果),这会增加行距

h = legend(s1,s2,s3, 'location', 'northeast');
set(h, 'fontsize', 16, 'interpreter', 'latex')

outerposition = get(h, 'OuterPosition');
delta_h = 0.25*outerposition(4);
outerposition(2) = outerposition(2) - delta_h;
outerposition(4) = outerposition(4) + delta_h;
set(h, 'OuterPosition', outerposition)

运行此代码片段后,必须小心调整图形的大小,因为更改OuterPosition属性会清除长方体相对于打印轴的自动放置。如果调整图形的大小,图例框将进行漫游。

好主意,谢谢。我应该考虑切换到数学显示模式。还可以在适当的位置添加
\displaystyle
命令,例如在分数环境中。如果我有一个分数在一个分数内,我仍然注意到数学符号接触分数线,所以如果你知道任何其他可能改善符号拥挤的诡计,请告诉我。