我很擅长使用python,尤其是numpy和matplotlib。运行下面的代码(在没有\frac{}{}
部分的情况下工作正常)会产生错误:
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 :(得分:7)
在许多语言中,反斜杠字母是一种输入难以输入的字符的方法。在这种情况下,它是一个“换页”。例子:
\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。
答案 1 :(得分:3)
"\f"
是Python中的换页符。 TeX从未看到反斜杠,因为Python在将字符串发送到TeX之前解释了Python源中的\f
。您可以使用反斜杠加倍,也可以使用r'Normalized Distance ... etc.'
使字符串成为原始字符串。
答案 2 :(得分:1)
您必须在字符串的前面添加r
以避免解析\f
。