MATLAB中TeX-typeset方程中的字体间距默认为高度压缩。有没有办法增加间隔的数量,例如,一个分数的分子和分母不会与分离两者的线接触?MATLAB:乳胶解释器字体间距
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-typeset方程中的字体间距默认为高度压缩。有没有办法增加间隔的数量,例如,一个分数的分子和分母不会与分离两者的线接触?MATLAB:乳胶解释器字体间距
plot(1:10,rand(1,10));
set(gca,'FontSize',18);
legend('$\frac{xy}{\exp\left(\frac{x}{y}\right)}$');
set(legend(),'interpreter','latex');
我认为最简单的方法是使用一些LaTeX的诡计。
长话短说,LaTeX $ ... $
用于内联数学,但对于显示数学,您应该使用\[ ... \]
或使用相同的$$ ... $$
的传统方法。对于LaTeX文档,不要使用后者,但对于MATLAB来说应该就足够了。
内嵌的数学和数学显示之间的差异,就像使用反引号之间和缩进在StackOverflow的差(``)。第一个将在两个段落之间显示你的代码。用数学,只有显示模式的数学才会有更大公式的体面布局。
所以下面的代码应该解决您的问题:
plot(1:10,rand(1,10));
set(gca,'FontSize',18);
legend('$$\frac{xy}{\exp\left(\frac{x}{y}\right)}$$');
set(legend(),'interpreter','latex');
如果您想得更多,你可能想咨询这让你开始有很多LaTeX的贸易的技巧的Not So Short Introduction To LaTeX2e。
编辑: 我倾向于只是一种手段使用,以提高在公式中的间距是用什么幻影(\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'命令,比如在一个分数环境中。如果我的分数在分数范围内,我仍然会注意到数学符号接触分数线,所以如果您知道任何其他可能改善符号拥挤的方法,请告诉我。 – user001 2012-03-06 20:31:46