数学和学术功能 #
Typora 支持使用 Tex/LaTeX 语法渲染普通数学。渲染过程是由 MathJax (opens new window) 支持。
数学块(显示数学) #
例如,数学块是由 $$
标记和换行符包裹的 LaTeX 表达式。
$$
\begin{align*}
y = y(x,t) &= A e^{i\theta} \\
&= A (\cos \theta + i \sin \theta) \\
&= A (\cos(kx - \omega t) + i \sin(kx - \omega t)) \\
&= A\cos(kx - \omega t) + i A\sin(kx - \omega t) \\
&= A\cos \Big(\frac{2\pi}{\lambda}x - \frac{2\pi v}{\lambda} t \Big) + i A\sin \Big(\frac{2\pi}{\lambda}x - \frac{2\pi v}{\lambda} t \Big) \\
&= A\cos \frac{2\pi}{\lambda} (x - v t) + i A\sin \frac{2\pi}{\lambda} (x - v t)
\end{align*}
$$
将被渲染为
在 typora 中,你可以只按 $$
和 Return
键来输入一个数学块,在输入模式下,使用上/下箭头键或 Command
/ Ctrl
+ Return
键来完成编辑,或直接点击✓ 按钮,或其他地方。
Inline Math #
首先,请从偏好设置->Markdown 部分启用 inline math 功能。可以从菜单栏打开偏好设置:文件
-> 偏好设置...
,或者使用快捷键 - command
/ ctrl
+ ,
。这一设置将在 Typora 重新启动后应用。
内联数学使用这样的语法 $<Math Expressions>$
,例如:$f = \frac{2 \pi}{T}$
。
Typora 中可用的 TeX 命令 #
你可以在 http://docs.mathjax.org/en/latest/input/tex/macros/index.html (opens new window) ,找到所有支持的 TeX 命令。
你可以使用 \def
或 \newcommand
添加新的命令。比如说。
$$
\def\bold#1
\bold{this\ is\ now\ bold}
$$
Chemistry Expressions #
Typora 有内置的 mhchem (opens new window) 扩展,可以用来渲染化学表达式,你可以像这样使用。
$\ce{CH4 + 2 $\left( \ce{O2 + 79/21 N2} \right)$}$
这将被渲染为
更多细节,请参考 https://mhchem.github.io/MathJax-mhchem/ (opens new window) 。
相互参照 #
例如,Typora 支持 TeX 风格的引用语法。
Here is a labeled equation:
$$
x+1\over\sqrt{1-x^2}\label{ref1}\tag{1}
$$
This is a reference : $\ref{ref1}$
自动编号 #
Typora 支持自动编号的数学块。要打开这个功能,请打开偏好设置,并在 "Markdown "部分启用 "自动编号数学方程"。
故障排除 #
强制刷新 #
当数学渲染出错时,比如输出的数学太野/太窄,或者方程编号变得不正确,你可以从 编辑
→ 数学工具
菜单中触发对所有数学的强制刷新。
displaylines #
从 v0.11.0 开始,Typora 升级到 MathJax v3,它不支持使用 MathJax v2 中的 \\
或 \newline
,行为与 LaTeX 相同,除非你把它们放在 \displaylines{}
环境中,比如说。
\displaylines{x+y\\y+z}
所以你可以使用 \displaylines
,作为一种变通方法。
从 v0.11.1 开始,Typora 在 Preferences Panel
→ Markdown
→ Math
下提供了一个新选项 "Apply Line Break at \"。通过启用它,如果你的内容包含 \\
或 \newline
,Typora 将自动用 \displaylines
来包装你的数学内容,以实现与以前版本相同的行为。但它可能会带来一些意想不到的问题,所以如果你在启用它后遇到任何数学问题,请尝试禁用该选项,并向我们报告,如果它是原因。
建议使用 \displaylines
,而不是启用 "Apply Line Break at\"来添加数学中的换行符。
限制条件 #
- MathJax 支持所有 LaTeX 命令的有限子集(参考资料:http://docs.mathjax.org/en/latest/input/tex/macros/index.html (opens new window) )。
- 并非所有的导出格式都支持数学,数学/LaTeX 的一些命令/功能在导出后会变得不可用。