6

我在使用 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 模式下处于活动状态。

4

3 回答 3

16

在许多语言中,反斜杠字母是一种输入其他难以键入的字符的方法。在这种情况下,它是“表单提要”。例子:

\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 无关。

关于 Python 字符串文字的文档

于 2013-04-14T18:43:35.287 回答
3

"\f"是 Python 中的换页符。TeX 永远不会看到反斜杠,因为 Python\f在将字符串发送到 TeX 之前解释了 Python 源代码中的 。您可以将反斜杠加倍,也可以使用r'Normalized Distance ... etc.'.

于 2013-04-14T18:44:05.667 回答
1

您必须r在字符串前面添加一个以避免解析\f.

于 2013-04-14T18:44:09.133 回答