2012-03-06 2 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

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 속성을 변경하면 관련하여 상자의 자동 배치를 삭제하기 때문에,이 코드 조각을 실행 한 후 그림의 크기를 조정에 대해주의해야한다. 숫자의 크기를 조절하면 범례 상자가 움직입니다.