2014-09-06 2 views
1

나는 라텍스 코드를 사용하기 matplotlib에 다음 식을 가지고 :matplotlib에서 작은 라텍스 괄호를 얻는 방법?

ax.set_xlabel(r'\langle \epsilon \rangle', fontsize=18) 

엡실론를 렌더링하는 브라켓보다 훨씬 작은된다. 대괄호는 대문자를 "감싸는"크기입니다. 브래킷을 더 작게 만들려면 어떻게합니까?

+0

은 'usetex'가 true 또는 false입니까? 또한 나는 a) 할 일이 까다로울 것이고 b) 현재의 행동이 '정확하다'라고 생각한다. – tacaswell

답변

2

유액의 수학 모드에서 하나를 사용하여 일을 작게 만들 수 있습니다

  • \scriptstyle 또는
  • \scriptscriptstyle

그러나이 표현은 기본하기 matplotlib 백엔드에서 작동하지 않습니다 :

#!/usr/bin/python3 

import matplotlib 
custom_preamble = { 
    "text.usetex": True, 
    } 

from matplotlib import pyplot as plt 


x = range(5) 
y = range(5) 

fig = plt.figure() 
ax = fig.add_subplot(111) 

ax.text(0.5, 0.5, 
    r"${\scriptscriptstyle(} {\scriptstyle(} (\varepsilon$", 
    horizontalalignment = 'center', 
    backgroundcolor = "white", 
    verticalalignment = 'center', 
    transform = ax.transAxes, 
    ) 

ax.plot(x, y) 

fig.savefig("mwe-1.png") 

결과 :

enter image description here

하나가 PGF 백엔드를 사용할 수있는 더 나은 LaTeX의 지원을위한 그러나

한 다음 작동 :

import matplotlib 
matplotlib.use("pgf") 
# the rest is the same as in the code above 

결과 :

enter image description here

pgf 백엔드 1.3하기 matplotlib 추가되었습니다 . 제 생각에는 시스템에 XeTeX가 설치되어 있어야합니다 (상대 바이너리는 xelatex라고 생각합니다). 주요 LaTeX 배포판 (MiKTeX 및 TeXLive) 모두 XeTeX를 설치할 수 있습니다.

+0

+1 때문에 작동하지만 코드의 다른 부분을 손상시키는 것 같습니다. 고맙습니다! – astabada

+0

@astabada : 코드의 다른 부분을 실제로 깨뜨리지 않아야합니다. 문제가있는 경우 질문 및 게시물 MWE를 편집하십시오. – Adobe

관련 문제