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