MDUtil

Markdownの数式

ドル記号の間にLaTeXを書くと数式になります。文中では $E = mc^2$、独立した行では $$ … $$ で中央寄せの数式を書きます。記法、よく使う書き方、対応しているアプリを説明します。

要点

Markdownで数式を書くには?

文中の数式はLaTeXをドル記号1つずつで囲みます:$a^2 + b^2 = c^2$。独立した数式はドル記号2つをそれぞれ単独の行に書きます。数式は拡張記法で、GitHub、Obsidian、Typora、Jupyterなど多くのエディタがKaTeXやMathJaxで表示します。

Markdown
円の面積は $A = \pi r^2$ です。

$$
\int_0^1 x^2 \, dx = \frac{1}{3}
$$

表示結果

円の面積は A=πr2A = \pi r^2 です。

∫01x2 dx=13\int_0^1 x^2 \, dx = \frac{1}{3}

数式の書き方と例

ドル記号の間はすべてLaTeXの数式です。よく使う書き方を紹介します。

よく使う書き方

^ で上付き、_ で下付き、\frac で分数、\sqrt で根号、ギリシャ文字は名前で書きます。2文字以上は波括弧でまとめます。

Markdown
$x^2$、$x_i$、$e^{i\pi}$、$\frac{a}{b}$、$\sqrt{2}$、$\alpha + \beta$

表示結果

x2x^2、xix_i、eiπe^{i\pi}、ab\frac{a}{b}、2\sqrt{2}、α+β\alpha + \beta

総和・極限・積分

範囲は下付きと上付きで書き、独立した数式では記号の上下に表示されます。

Markdown
$$
\sum_{i=1}^{n} i = \frac{n(n+1)}{2} \qquad \lim_{x \to 0} \frac{\sin x}{x} = 1
$$

表示結果

∑i=1ni=n(n+1)2lim⁡x→0sin⁡xx=1\sum_{i=1}^{n} i = \frac{n(n+1)}{2} \qquad \lim_{x \to 0} \frac{\sin x}{x} = 1

そろえた複数行の数式

aligned の中では & でそろえる位置を示し、\\ で改行します。

Markdown
$$
\begin{aligned}
(a+b)^2 &= a^2 + 2ab + b^2 \\
(a-b)^2 &= a^2 - 2ab + b^2
\end{aligned}
$$

表示結果

(a+b)2=a2+2ab+b2(a−b)2=a2−2ab+b2\begin{aligned} (a+b)^2 &= a^2 + 2ab + b^2 \\ (a-b)^2 &= a^2 - 2ab + b^2 \end{aligned}

行列

pmatrix は丸括弧、bmatrix は角括弧付きで、& で列を区切ります。

Markdown
$$
A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}
$$

表示結果

A=(1234)A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}

数式のコードブロック

math と書いたコードブロックは $$ と同じく数式になり、長い数式もソースで読みやすくなります。

Markdown
```math
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
```

表示結果

x=−b±b2−4ac2ax = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}

GitHubのバッククォート形式

GitHubでは、ドル記号の内側をバッククォートで囲んだインライン数式も使えます。数式の中のMarkdownの記号が誤って解釈されません。

Markdown
$`\sqrt{x_1 * x_2}`$

GitHubとGitLabだけの書き方です。ほかのMarkdownアプリでは表示が異なるため、プレビューはありません。

各サービスでの対応状況

数式は拡張記法なので、使う前にアプリが対応しているか確認します。

サービス対応補足
GitHub対応ファイル、Issue、コメントで $…$、$$…$$、math のコードブロックが使えます。
Obsidian対応$…$ と $$…$$ がMathJaxで表示されます。
Typora対応$$ のブロックに対応し、設定でインライン数式をオンにすると $…$ も使えます。
Qiita / Zenn対応Zennは $…$ と $$…$$ に対応しています。Qiitaは $`…`$ と math のコードブロックを推奨しています。
Notion違いあり$$ で囲んだ数式はインライン数式になり、ブロックの数式は /math コマンドで追加します。
Discord / Slack非対応数式はなく、LaTeXがそのまま表示されます。

よくある質問

GitHubはMarkdownの数式に対応していますか?

対応しています。ファイル、Issue、コメントで、$…$ はインライン数式、$$…$$ と ```math のブロックは独立した数式として表示されます。

数式が普通の文字で表示されるのはなぜですか?

アプリが数式に対応していない可能性があります。Discord、Slack、CommonMarkだけのレンダラーは対応していません。また、多くのアプリは $ と $$ を使い、ChatGPTがよく書く \( \) や \[ \] は認識しません。

ChatGPTの回答の数式を貼り付けるには?

Markdown Word 変換やMarkdown PDF 変換で「AIの回答を整える」をオンにすると、\( \) と \[ \] がドル記号に変わります。自分で置き換えてもかまいません。

数式を始めずにドル記号を書くには?

バックスラッシュでエスケープします:\$5。詳しくはMarkdownのエスケープを参照してください。

どのLaTeXコマンドが使えますか?

レンダラーはKaTeXかMathJaxを使い、分数、根号、総和、積分、ギリシャ文字、行列、そろえた数式など一般的な数式に対応しています。LaTeXのパッケージや文書用のコマンドは使えません。

数式に番号を付けられますか?

独立した数式の中に \tag{1} を書きます:$$ E = mc^2 \tag{1} $$。KaTeXとMathJaxのどちらも対応しています。

WordやLaTeXに書き出しても数式は残りますか?

Markdown Word 変換では編集できるWordの数式になり、Markdown LaTeX 変換ではLaTeXのまま残ります。

NotionはLaTeXに対応していますか?

対応しています。$$x^2$$ のように数式をドル記号2つで囲むとインライン数式になり、ブロックの数式は /math コマンドで追加します。