matplotlib 转义字符全集,编写数学表达式
编写数学表达式
原⽂:
译者:
背后长痘痘怎么办协议:
你可以在任何 matplotlib ⽂本字符串中使⽤⼦ TeX 标记,将它放在⼀对美元符号($)内。
瞻基>我的祖国朗诵注意,你不需要安装 TeX,因为 matplotlib 提供了⾃⼰的 TeX 表达式解析器,布局引擎和字体。 布局引擎是 Donald Knuth 的 TeX 中的布局的⼀种相当直接的适配版,所以质量是相当不错的(matplotlib 还为那些想要调⽤ TeX ⽣成⽂本的⼈提供⼀个utex 选项(参见)。
任何⽂本元素都可以使⽤数学⽂本。 你应该使⽤原始字符串(在引号前⾯加⼀个'r'),并⽤美元符号($)包围数学⽂本,如 TeX。 常规⽂本和数学⽂本可以在同⼀个字符串内交错。 Mathtext 可以使⽤ Computer Modern 字体(来⾃ (La)TeX),STIX 字体(为与 Times 混合使⽤⽽设计)或你提供的 Unicode 字体。 可以使⽤⾃定义变量mathtext.fontt 选择 mathtext 字体(请参阅)
注意
在的 『narrow』 构建中,如果使⽤ STIX 字体,你还应该将ps.fonttype 和pdf.fonttype 设置为 3(默认值),⽽不是 42。否则⼀些字符将不可见。
下⾯是个简单的例⼦:
⽣成alpha > beta 。
但是这个:⽣成 。# plain text
plt.title('alpha > beta')
1
2# math text
plt.title(r'$\alpha > \beta$')
欧美老人性爱
1
2马其顿时间
注意
Mathtext 应该放在⼀对美元符号($)之间。 为了易于显⽰货币值,例如$ 100.00,如果整个字符串中存在单个美元符号,则它将被逐字显⽰为美元符号。 这是常规 TeX 的⼀个⼩改变,其中⾮数学⽂本中的美元符号必须被转义('$')。
注意
虽然⼀对美元符号($)内的语法是 TeX 风格的,但是外⾯的⽂本不是。 特别是,字符:
在 TeX 中的数学模式之外有特殊的意义。 因此,根据rcParam text.utex 标志这些字符的表现有所不同。 更多信息请参阅。
下标和上标
为了制作下标和上标,使⽤_或者^符号:
⼀些符号会⾃动将它们的下标或上标放在操作符的底部或顶部,例如,为了编写 0 到⽆穷的 的和,你可以:
分数、⼆项式和堆叠数
可以使⽤\frac{}{},\binomial{}{}和\stackrel{}{}命令分别创建分数,⼆项式和堆叠数字:
产⽣
分数可以任意嵌套:
# $ % & ~ _ ^ \ { } \( \) \[ \]
1
2
3
r'$\alpha_i > \beta_i$'
1r'$\sum_{i=0}^\infty x_i$'
1r'$\frac{3}{4} \binom{3}{4} \stackrel{3}{4}$'
1r'$\frac{5 - \frac{1}{x}}{4}$'
1
产⽣请注意,在分数周围放置圆括号和花括号需要特别注意。 这种明显的⽅式会产⽣太⼩的括号:
解决⽅案是在括号前⾯加上\left 和\right 以通知解析器这些括号包含整个对象:
根式
根式可以有\sqrt[]{}
产⽣,例如:
⽅括号内可以(可选地)设置任何底数。 请注意,底数必须是⼀个简单的表达式,并且不能包含布局命令,如分数或上下标:
字体
⽤于数学符号的默认字体是斜体。
注意
啄木鸟品牌
此默认值可以使⽤mathtext.default rcParam 更改。 这是⾮常有⽤的,例如,通过将其设置为regular ,使⽤与常规⾮数学⽂本相同的字体作为数学⽂本。
为了修改字体,例如,以罗马字体编写sin
,使⽤字体命令来闭合⽂本:r'$(\frac{5 - \frac{1}{x}}{4})$'
1r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$'
1r'$\sqrt{2}$'
1r'$\sqrt[3]{x}$'
1r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$'
1
这⾥s 和t 是斜体(默认)的变量,sin 是罗马字体,振幅A 是书法字体。 注意在上⾯的例⼦中,A 和sin 之间的间距被挤压。 你可以使⽤间距
命令在它们之间添加⼀些空格:
所有字体的可⽤选项为:
命令
结果
\mathrm{Roman}
\mathit{Italic}
\mathtt{Typewriter}
\mathcal{CALLIGRAPHY}使⽤ STIX 字体时,你也可以选择:
命令
结果
\mathbb{blackboard}
\mathrm{\mathbb{blackboard}}
\mathfrak{Fraktur}
\mathsf{sansrif}
\mathrm{\mathsf{sansrif}}
\mathcircled{circled}还有三个全局『字体集』可供选择,它们使⽤matplotlibrc 中的mathtext.fontt 参数进⾏选择。
cm
: Computer Modern (TeX)
stix
: STIX (为和 Times 混合使⽤⽽设计)工作承诺
stixsans
: STIX sans-rif
此外,你可以使⽤\mathdefault{...}或其别名\mathregular{...}来使⽤⽤于 mathtext 之外的常规⽂本的字体。 这种⽅法有⼀些限制,最明显的是,可以使⽤很少的符号,但可⽤于将数学表达式与图中的其他⽂本混合。
曹操父子⾃定义字体
mathtext 还提供了⼀种对数学公式使⽤⾃定义字体的⽅法。 这种⽅法使⽤起来相当棘⼿,应该看做为有耐⼼的⽤户准备的试验特性。 通过将rcParam mathtext.fontt 设置为custom ,你可以设置以下参数,这些参数控制⽤于特定数学字符集的字体⽂件。s(t) = \mathcal{A}\/\sin(2 \omega t)
1
参数
相当于mathtext.it
\mathit{} 默认斜体
\mathrm{} 罗马字体(upright)
\mathtt{} 打字机(monospace)mathtext.bf
\mathbf{} 粗体mathtext.cal
\mathcal{} 书法mathtext.sf \mathsf{} sans-rif
每个参数应该设置为fontconfig 字体描述符(在尚未编写的字体章节中定义)。
所使⽤的字体应该具有 Unicode 映射,以便找到任何⾮拉丁字符,例如希腊语。 如果要使⽤未包含在⾃定义字体中的数学符号,可以
将rcParam mathtext.fallback_to_cm 设置为True ,这将导致⾃定义字体中找不到特定字符时,数学⽂本系统使⽤默认的 Computer Modern 字体中的字符。
请注意,Unicode 中规定的数学字形随时间⽽演进,许多字体的字形对于 mathtext 可能不在正确位置。
重⾳符号
重⾳命令可以位于任何符号之前,在其上添加重⾳。 他们中的⼀些些拥有较长和较短的形式。
命令
结果
\acute a 或
\'a
\bar a
\breve a
\ddot a 或
\"a
\dot a 或
\.a
\grave a 或 \
a`
\hat a 或
\^a
\tilde a 或
\~a
\vec a
\overline{abc}另外有两个特殊的重⾳符号,可以⾃动调整为符号的宽度:
命令
结果
\widehat{xyz}
\widetilde{xyz}当把重⾳放在⼩写的i 和j 上时应该⼩⼼。 注意下⾯的\imath ⽤来避免i
上额外的点:r"$\hat i\ \ \hat \imath$"
1