如何使用jupyter编写数学公式(译)

作者: FoolishFlyFox | 来源:发表于2017-11-19 20:54 被阅读718次

    文章原地址:A Primer on Using LaTeX in Jupyter Notebooks

    jupyter notebooks 工具在数据科学领域被广泛使用,该工具使你可以将代码、文本、数学公式、图片都写在同一个文档中。并且,这些文档通过共享,其他人可以非常简单地重复分析过程,比如说通过LIGO发现引力波。Jupyter Notebooks也能被作为在线文档工具。

    我非常喜欢的一个功能是它的 LaTeX 编辑功能,直接在文本中包含数学符号,通过 MathJax 渲染出数学公式。LaTeX 是排版技术和科学文档的标准,通过LaTeX,你不仅能够写出任何的文档,还能够在其中加入数学公式与符号。

    MathJax将LaTeX符号进行渲染,直接在浏览器中显示出来。

    这是Jupyter非常有用的功能,但是,许多人由于缺乏LaTeX的使用经验而不能享受这一功能,实在让人惋惜。我打算对如何使用LaTeX编辑数学公式写一个入门,内容将不会覆盖LaTeX的所有内容,只是关于LaTeX的基础部分,让你能够快速地在文档中编写数学公式。

    数学排版基础

    在编写LaTeX时,有两种模式:行内模式(inline mode) 和 展示模式(display mode).行内模式也称为随文模式,是将公式镶嵌在普通文段内,跟文字排在一起。 展示模式是将公式独立成一行,并且居中显示。

    模式不同,数学公式的渲染方式也不同。

    为了在行内编写数学公式,你需要使用单$符, 比如:$y=mx+b$,在 $符之间的所有内容,都将被视为数学符号进行渲染。

    为了创建显示模式的表达式,使用 $$符。

    例如 $$P(A \mid B) = \frac{ P(B \mid A) P(A) }{ P(B) }$$,其效果如下:

    贝叶斯公式

    上标和下标

    指数上标通过一个脱字符^表示,例如 $$x^2$$ 表示

    上标

    有时候,你希望幂的指数是一个乘法组成的式子,你可能使用表达式 $$e^2x$$ ,但是该表达式显示的却是

    而通过大括号将指数包裹起来,如$$e^{2x}$$ 将被渲染为


    相似的,你可以使用下划线来引出下标部分,例如 $$x_i$$ 就表示


    当然,下划线也可以出现在最前面,例如 $$_{10}C_5$$ 表示


    下标还可以出现在正中间,例如 $$\underset{k}{argmax}$$ 表示


    命令

    特定的符号和形式通过命令进行编写,每一个命令以反斜杠开始,一个命令名紧随其后。比如说,创建一个平方根的表达式 $$ \sqrt{2\pi} $$ 显示为

    大括号将根号下的内容全部包括,\pi 渲染为希腊字符π。

    命令frac用于显示分数,它需要两个输入,一个是分子部分,一个是分母部分,两个用大括号包裹起来,紧随 \frac 。

    符号

    符号也是以反斜杠开头,反斜杠之后跟符号名。在LaTeX存在大量的符号:

    • 希腊字母如 \alpha, \beta, \gamma :
    你也能使用大写希腊字母,如 \Phi, \Lambda, \Gamma :

    注意,beta的大写形式是 B ,而不是 \Beta 。

    • 比如乘、正负、并集、卷积符号为 \times, \pm, \cup, \oplus :
    • 三角函数像 \sin, \cosh, \arctan 表示 sin、cosh、arctan,你如果希望使用这些命令,不要仅仅在公式中写 sin, 否则,你得到的是
      而不是
    • 关系运算,例如 \leq, \geq, \approx, \neq :
    • 3点符号例如:\cdots, \ldots, \ddots :
    • 其他的变量符,如:\infty, \nabla, \partial :

    口音

    • 在符号上面加个帽子: $$\hat x$$ ,显示为

      如果在多个字符上加帽子,可以使用\widehat ,如 $$widehat{abs}$$ 显示为


    • 为了显示平均数,通常需要在变量上面添加一条线,通过 \bar x ,显示为
      如果是多个字符,可以使用 \overline{abs},显示为
    • 导数通过点表示,如 \dot x 和 \ddot x ,显示为
    • 箭头为 \vec{x}, \overrightarrow{AB} ,显示为

    括号

    圆括号和其他括号都不是 “富有弹性的”,也就是说,表达式的高度变长,包裹该表达式的括号并不会随之变高,例如 : $$z=(\frac{dx}{dy})^{1/3}$$ 显示为: 为了让括号能够拉伸,使用 \left 和 \right ,比如 $$z=\left(\frac{dx}{dy}\right)^{1/3}$$ ,将显示为

    还存在一些特殊的括号:

    • 直线 | 或写为 \vert ,\mid 显示效果和 \vert 非常相似,但 \mid 宽度比 \vert 大。

    • 尖括号,例如 $$ {\langle} {\phi} \mid {\psi} {\rangle} $$ 显示为
    • 矩阵括号,如 $$\left[\begin{matrix}a & b \cr c & d\end{matrix}\right]$$ 显示为 方括号包围的矩阵 或者是:$$\left\lgroup\begin{matrix}a & b \cr c & d\end{matrix}\right\rgroup$$ 圆括号包围的矩阵

    字体及其选项

    • 比如非斜体罗马文本,使用 \textrm{abcdefghijklmn123456} 或者 \rm{abcdefghijklmn123456},效果为
    • 斜体字母 \mathit{abcdefghijklmn123456} ,效果为
    • Sans serif 字体 \mathsf{abcdefghijklmn123456} ,效果为
    • Typerwriter 字体 \mathtt{abcdefghijklmn123456} ,效果为
    • Calligraphic 字体 \mathcal{abcdefghijklmn123456} ,效果为
    • Blackborad bold 字体 \mathbb{abcdefghijklmn123456} ,效果为
    • Boldsymbol 字体加粗 \boldsymbol{A\cdot x}=\lambda\cdot v,效果为:

    空格

    在LaTeX中,符号之间的空格会被自动移除,所以$$ \int f(x) dx $$ 显示为

    函数和 dx 之间没有空格,你能通过 \,\:\;添加空格,其空格宽度分别为从小到大。所以 $$\int f(x) ; dx$$ 显示为:

    对于更大的间隔,可以使用 \quad 和 \qquad 。第一个为 1em 的距离,第二个为 2em 的距离;

    转义字符

    如果你需要使用特殊的字符,比如 { 或 _ ,你必须通过反斜杠进行转义,例如 { ,_ ,$ 分别表示 { 、 _ 、 $ ,\ 的转义为 \\ 。

    等式对齐

    通过 \\ 断开两个或多个等式,可实现等式中部对齐,例如:

    $$
    a_1=b_1+c_1 \\
    a_2=b_2+c_2+d_2 \\
    a_3=b_3+c_3
    $$
    
    显示为:

    如果希望是左对齐,可以是:

    $$
    \begin{align}
    a_1&=b_1+c_1 \\
    a_2&=b_2+c_2+d_2 \\
    a_3&=b_3+c_3
    \end{align}
    $$
    
    显示如下

    如果需要对方程进行编号,可以 使用 \tag ,例如:

    $$
    \begin{align}
    a_1&=b_1+c_1 \tag{1}\\
    a_2&=b_2+c_2+d_2 \tag{2}\\
    a_3&=b_3+c_3 \tag{3}
    \end{align}
    $$
    

    显示为:


    分段函数

    例如需要些符号函数sign:

    $$
    sign(x)=\begin{cases}
    1,&x>0 \\ 0,&x=0 \cr -1,&x<0
    \end{cases}
    $$
    

    显示如下:


    上述语法中的 \\ 等价于 \cr,表示换行到新的 case。

    总结

    • 命令

      1. 指数和下标可以用^和_后,跟相应字符实现。例如 $a^3$ 表示 $a^3$ , $a_3$ 表示
      2. 平方根的为\sqrt, n次方根为\sqrt[n]。例如 $\sqrt{a}$ 表示 $\sqrt{a}$ ,$\sqrt[3]{a}$ 表示
      3. 命令 \overline 和 \underline 表示表达式上的上、下坊给出以水平大括号。例如:$\overline{m+n}$ 表示
        $\underline{m+n}$ 表示
      4. 命令 \overbrace 和 \underbrace 在表达式的上、下方给出一水平的大括号,例如 $\underbrace{a+b+\cdots+j}_{10}$ 表示
      5. 向量(Vector)通常用于上方有小箭头的变量表示,可以有\vec得到,例如 $\vec a$ 表示
        $\overrightarrow{AB}$ 表示 $\overrightarrow{AB}$ ,$\overleftarrow{AB}$ 表示
      6. 分数(fraction) 使用 \frac{...}{...} 排版,一般来说,1/2 这种形式更受欢迎,以为对于少量的分式,它看起来更好些。 $\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ 表示
      7. 积分运算符(integral operator) 用 \int 来生成,例如 $\int_{0}^{\pi}{\tan x}$ 表示
      8. 求和运算符(sum operator) 用 \sum 来生成,例如 $\sum_{i=0}^{n}{i}$ 表示
      9. 乘积运算符(product operator) 用 \prod 生成,例如 $\prod_{i=1}^{9}{i}$ 表示
    • 数学符号表

    相关文章

      网友评论

        本文标题:如何使用jupyter编写数学公式(译)

        本文链接:https://www.haomeiwen.com/subject/cwhpvxtx.html