Quarkdown 原生支持 TeX 数学方程与公式。当渲染为 HTML 时,该功能由 KaTeX 提供支持。
行内方程可以通过在两个 $ 符号之间包裹文本来创建。两个分隔符前后都必须有空白(或行首/行尾)。
Let $ \overline v = \frac {\Delta x} {\Delta t} $ be the **average velocity** of an object.Let
块级方程通常在视觉上居中,并与行内方程使用相同的语法,但需要与其他内容相互隔离:
The following function is a **Fourier Transform**:
$ F(u) = \int^{+\infty}_{-\infty} f(x) e^{-i 2\pi x} dx $The following function is a Fourier Transform:
注意:此语法不会中断段落,因此请确保为块级内容留出适当的空白。如果段落未被中断,由于 Markdown 的惰性行,该公式会被识别为行内公式。
示例 3
The following function is a **Fourier Transform**: $ F(u) = \int^{+\infty}_{-\infty} f(x) e^{-i 2\pi x} dx $The following function is a Fourier Transform:
F(u) = \int^{+\infty}_{-\infty} f(x) e^{-i 2\pi x} dx
一个块级公式可以借助类似于围栏代码块的语法跨越多行,使用三个 $ 符号作为分隔符。
$$$
f(x) =
\begin{cases}
0 & \text{if } x = 0 \\
1 & \text{if } x \neq 0
\end{cases}
$$$.math 函数方程也可以通过 .math 原语函数 来创建。当方程内容由其他函数计算而来,或者你想为某个特定公式应用样式时,这会很有用。
.math
E = mc^2
<!-- 或,等价地 -->
.math {E = mc^2}默认情况下,.math 在被块级函数调用使用时会产生块级公式。你可以通过 block 参数强制其为行内或块级:
Inline: .math {2 + 2}Inline:
其内容会被作为 Quarkdown 求值,因此嵌套的函数调用会被执行,这与基于 $ 的语法相反。
.var {n} {5}
.math
f(.n) = .n::multiply {2}行内与块级方程都接受与容器相同的样式属性 。
.math fontsize:{larger}
\pi \approx 3.14.math 支撑标准的 $ ... $ 语法,因此扩展它 会一次性影响文档中的每一个方程。
.extend {math}
.super foreground:{skyblue}
.extend {math} where:{block: .block}
.super fontsize:{larger}
$ a^2 + b^2 = c^2 $
Inline: $ a^2 + b^2 = c^2 $Inline:
Quarkdown 支持通过 .texmacro 函数创建 TeX 宏。更多信息请参阅 TeX macros 。