2012-03-06 59 views
2

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'); 

回答

2

我認爲最簡單的方法是使用一些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可能有點清潔劑使用。

+0

好主意,謝謝。我應該考慮切換到數學顯示模式。你也可以在適當的位置添加'\ displaystyle'命令,比如在一個分數環境中。如果我的分數在分數範圍內,我仍然會注意到數學符號接觸分數線,所以如果您知道任何其他可能改善符號擁擠的方法,請告訴我。 – user001 2012-03-06 20:31:46

1

通過圖例的屬性列表尋找,似乎沒有被指定的行間距,其與自動定位相一致的任何方式。您可以通過放大框來填充行間距,但是通過更改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屬性清除箱的自動貼片關於圖軸。如果您調整圖形的大小,圖例框會去散步。