2013-04-14 60 views
3

我在使用python,尤其是numpy和matplotlib方面頗爲新穎。運行下面的代碼(沒有\frac{}{}部分正常工作)產生了錯誤: frac {} {}對我來說不適用w/pylab

Normalized Distance in Chamber ($ 
          rac{x}{L}$) 
          ^
Expected end of text (at char 32), (line:1, col:33) 

數學模式似乎對一切我已經試過做工精細(符號居多,如$\mu$工作正常,並顯示μ)所以我不確定這裏發生了什麼。我查了其他人民代碼的例子,他們似乎使用\frac{}{}沒有什麼特別的,它工作正常。我不知道我在做什麼不同。這是代碼。謝謝您的幫助!

import numpy as np 
import math 
import matplotlib.pylab as plt 

[ ... bunch of calculations ... ] 

plt.plot(xspace[:]/L,vals[:,60]) 
plt.axis([0,1,0,1]) 
plt.xlabel('Normalized Distance in Chamber ($\frac{x}{L}$)') 
plt.savefig('test.eps') 

而且,我也查找\ f和它似乎它的「轉義字符」,但我不知道這意味着什麼或者爲什麼它會是TeX的模式中的活動。

+0

您是否嘗試在字符串前添加一個'r',使其變成原始的? –

回答

6

在許多語言中,反斜線字母是輸入難以輸入的字符的一種方式。在這種情況下,這是一個「換頁」。例子:

\n — newline 
\r — carriage return 
\t — tab character 
\b — backspace 

要禁用,您可能需要轉義反斜線本身(反斜槓反斜槓反斜槓)

'Normalized Distance in Chamber ($\\frac{x}{L}$)' 

;或用「原始」的字符串,其中轉義序列被禁用:

r'Normalized Distance in Chamber ($\frac{x}{L}$)' 

這與Python相關,而不是TeX。

Documentation on Python string literals

+0

謝謝,這很有幫助!這兩種方法都有效。 – Daniel

3

"\f"是在Python一個換字符。 TeX從不會看到反斜槓,因爲在將字符串發送到TeX之前,Python會解釋Python源代碼中的\f。您可以使用反斜槓加倍,或使用r'Normalized Distance ... etc.'將您的字符串設爲原始字符串。

1

您必須在字符串的前面添加r以避免解析\f

相關問題