数式
Markdownは、LaTeX構文を使用して数式を埋め込むことができ、技術文書、学術論文、教材に専門的な数学表現機能を提供します。
基本的なLaTeX数式構文
インライン数式
単一のドル記号 $
で数式を囲みます:
これはインライン数式です:$E = mc^2$、アインシュタインの質量-エネルギー等価式です。
円の面積は $A = \pi r^2$ で、$r$ は半径です。
二次方程式の解:$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
レンダリング結果:
これはインライン数式です:$E = mc^2$、アインシュタインの質量-エネルギー等価式です。
円の面積は $A = \pi r^2$ で、$r$ は半径です。
二次方程式の解:$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
ブロック数式
二重のドル記号 $$
で数式を囲み、別の中央行に表示します:
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
$$
\sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6}
$$
$$
\lim_{x \to 0} \frac{\sin x}{x} = 1
$$
レンダリング結果:
$$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$
$$ \sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6} $$
$$ \lim_{x \to 0} \frac{\sin x}{x} = 1 $$
基本的な数学要素
上付き文字と下付き文字
<!-- 上付き文字 -->
$x^2$, $e^{i\pi}$, $2^{10}$
<!-- 下付き文字 -->
$x_1$, $a_{ij}$, $\log_2 n$
<!-- 組み合わせ -->
$x_1^2$, $a_{i,j}^{(k)}$, $\sum_{i=1}^n x_i^2$
レンダリング結果:
$x^2$, $e^{i\pi}$, $2^{10}$
$x_1$, $a_{ij}$, $\log_2 n$
$x_1^2$, $a_{i,j}^{(k)}$, $\sum_{i=1}^n x_i^2$
分数
<!-- 基本的な分数 -->
$\frac{1}{2}$, $\frac{a}{b}$, $\frac{x+y}{x-y}$
<!-- 連分数 -->
$\frac{1}{1 + \frac{1}{2 + \frac{1}{3 + \cdots}}}$
<!-- 複雑な分数 -->
$\frac{\partial^2 f}{\partial x^2}$, $\frac{d}{dx}\left(\frac{1}{x}\right)$
レンダリング結果:
$\frac{1}{2}$, $\frac{a}{b}$, $\frac{x+y}{x-y}$
$\frac{1}{1 + \frac{1}{2 + \frac{1}{3 + \cdots}}}$
$\frac{\partial^2 f}{\partial x^2}$, $\frac{d}{dx}\left(\frac{1}{x}\right)$
平方根
<!-- 平方根 -->
$\sqrt{2}$, $\sqrt{x^2 + y^2}$
<!-- n乗根 -->
$\sqrt[3]{8}$, $\sqrt[n]{x}$
<!-- 複雑な根 -->
$\sqrt{\frac{a}{b}}$, $\sqrt{1 + \sqrt{1 + \sqrt{1 + \cdots}}}$
レンダリング結果:
$\sqrt{2}$, $\sqrt{x^2 + y^2}$
$\sqrt[3]{8}$, $\sqrt[n]{x}$
$\sqrt{\frac{a}{b}}$, $\sqrt{1 + \sqrt{1 + \sqrt{1 + \cdots}}}$
記号と演算子
ギリシャ文字
<!-- 小文字のギリシャ文字 -->
$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\zeta$, $\eta$, $\theta$
$\iota$, $\kappa$, $\lambda$, $\mu$, $\nu$, $\xi$, $\pi$, $\rho$
$\sigma$, $\tau$, $\upsilon$, $\phi$, $\chi$, $\psi$, $\omega$
<!-- 大文字のギリシャ文字 -->
$\Alpha$, $\Beta$, $\Gamma$, $\Delta$, $\Epsilon$, $\Zeta$, $\Eta$, $\Theta$
$\Lambda$, $\Xi$, $\Pi$, $\Sigma$, $\Phi$, $\Psi$, $\Omega$
レンダリング結果:
$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\zeta$, $\eta$, $\theta$
$\iota$, $\kappa$, $\lambda$, $\mu$, $\nu$, $\xi$, $\pi$, $\rho$
$\sigma$, $\tau$, $\upsilon$, $\phi$, $\chi$, $\psi$, $\omega$
$\Alpha$, $\Beta$, $\Gamma$, $\Delta$, $\Epsilon$, $\Zeta$, $\Eta$, $\Theta$
$\Lambda$, $\Xi$, $\Pi$, $\Sigma$, $\Phi$, $\Psi$, $\Omega$
演算子
<!-- 基本的な演算 -->
$+$, $-$, $\times$, $\div$, $\pm$, $\mp$
<!-- 関係演算 -->
$=$, $\neq$, $<$, $>$, $\leq$, $\geq$, $\ll$, $\gg$
<!-- 論理演算 -->
$\land$, $\lor$, $\lnot$, $\implies$, $\iff$
<!-- 集合演算 -->
$\in$, $\notin$, $\subset$, $\supset$, $\cup$, $\cap$, $\emptyset$
<!-- その他の記号 -->
$\infty$, $\partial$, $\nabla$, $\propto$, $\approx$, $\equiv$
レンダリング結果:
$+$, $-$, $\times$, $\div$, $\pm$, $\mp$
$=$, $\neq$, $<$, $>$, $\leq$, $\geq$, $\ll$, $\gg$
$\land$, $\lor$, $\lnot$, $\implies$, $\iff$
$\in$, $\notin$, $\subset$, $\supset$, $\cup$, $\cap$, $\emptyset$
$\infty$, $\partial$, $\nabla$, $\propto$, $\approx$, $\equiv$
高度な数学構造
総和と積分
<!-- 総和 -->
$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
$$\sum_{k=0}^{\infty} \frac{x^k}{k!} = e^x$$
<!-- 積分 -->
$$\int_a^b f(x) dx$$
$$\oint_C \mathbf{F} \cdot d\mathbf{r}$$
$$\iint_D f(x,y) \, dx \, dy$$
$$\iiint_V f(x,y,z) \, dx \, dy \, dz$$
<!-- 極限 -->
$$\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e$$
$$\lim_{x \to 0^+} \frac{1}{x} = +\infty$$
レンダリング結果:
$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$
$$\sum_{k=0}^{\infty} \frac{x^k}{k!} = e^x$$
$$\int_a^b f(x) dx$$
$$\oint_C \mathbf{F} \cdot d\mathbf{r}$$
$$\iint_D f(x,y) , dx , dy$$
$$\iiint_V f(x,y,z) , dx , dy , dz$$
$$\lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n = e$$
$$\lim_{x \to 0^+} \frac{1}{x} = +\infty$$
フォントとスタイル
数式フォント
<!-- 太字 -->
$\mathbf{A}$, $\mathbf{x}$, $\boldsymbol{\alpha}$
<!-- イタリック(デフォルト) -->
$A$, $x$, $\alpha$
<!-- 黒板太字 -->
$\mathbb{R}$, $\mathbb{C}$, $\mathbb{N}$, $\mathbb{Z}$, $\mathbb{Q}$
<!-- コールグラフ -->
$\mathcal{A}$, $\mathcal{B}$, $\mathcal{F}$, $\mathcal{L}$
<!-- スクリプト -->
$\mathscr{A}$, $\mathscr{B}$, $\mathscr{F}$, $\mathscr{L}$
<!-- 等幅 -->
$\mathtt{text}$, $\mathtt{ABC}$
<!-- ローマン -->
$\mathrm{d}x$, $\mathrm{sin}$, $\mathrm{cos}$
レンダリング結果:
$\mathbf{A}$, $\mathbf{x}$, $\boldsymbol{\alpha}$
$A$, $x$, $\alpha$
$\mathbb{R}$, $\mathbb{C}$, $\mathbb{N}$, $\mathbb{Z}$, $\mathbb{Q}$
$\mathcal{A}$, $\mathcal{B}$, $\mathcal{F}$, $\mathcal{L}$
$\mathscr{A}$, $\mathscr{B}$, $\mathscr{F}$, $\mathscr{L}$
$\mathtt{text}$, $\mathtt{ABC}$
$\mathrm{d}x$, $\mathrm{sin}$, $\mathrm{cos}$
サイズ制御
<!-- 異なるサイズ -->
$\tiny{tiny}$ $\small{small}$ $\normalsize{normal}$ $\large{large}$ $\Large{Large}$ $\LARGE{LARGE}$ $\huge{huge}$
<!-- 数式での使用 -->
$$\Large \sum_{i=1}^{n} \small x_i = \normalsize X$$
レンダリング結果:
$\tiny{tiny}$ $\small{small}$ $\normalsize{normal}$ $\large{large}$ $\Large{Large}$ $\LARGE{LARGE}$ $\huge{huge}$
$$\Large \sum_{i=1}^{n} \small x_i = \normalsize X$$
特殊記号とマーク
矢印
<!-- 単一矢印 -->
$\leftarrow$, $\rightarrow$, $\uparrow$, $\downarrow$
<!-- 二重矢印 -->
$\leftrightarrow$, $\updownarrow$
<!-- 長い矢印 -->
$\longleftarrow$, $\longrightarrow$, $\longleftrightarrow$
<!-- 二重線矢印 -->
$\Leftarrow$, $\Rightarrow$, $\Leftrightarrow$
<!-- 特殊矢印 -->
$\mapsto$, $\to$, $\gets$, $\hookrightarrow$, $\leadsto$
レンダリング結果:
$\leftarrow$, $\rightarrow$, $\uparrow$, $\downarrow$
$\leftrightarrow$, $\updownarrow$
$\longleftarrow$, $\longrightarrow$, $\longleftrightarrow$
$\Leftarrow$, $\Rightarrow$, $\Leftrightarrow$
$\mapsto$, $\to$, $\gets$, $\hookrightarrow$, $\leadsto$
上付き文字と装飾
<!-- ハット -->
$\hat{a}$, $\widehat{abc}$
<!-- チルダ -->
$\tilde{a}$, $\widetilde{abc}$
<!-- バー -->
$\bar{a}$, $\overline{abc}$
<!-- アンダーライン -->
$\underline{abc}$
<!-- ベクトル矢印 -->
$\vec{a}$, $\overrightarrow{AB}$
<!-- ドット -->
$\dot{a}$, $\ddot{a}$, $\dddot{a}$
レンダリング結果:
$\hat{a}$, $\widehat{abc}$
$\tilde{a}$, $\widetilde{abc}$
$\bar{a}$, $\overline{abc}$
$\underline{abc}$
$\vec{a}$, $\overrightarrow{AB}$
$\dot{a}$, $\ddot{a}$, $\dddot{a}$
複雑な数式例
物理学の公式
<!-- シュレーディンガー方程式 -->
$$i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)$$
<!-- マクスウェルの方程式 -->
$$
\begin{align}
\nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_0} \\
\nabla \cdot \mathbf{B} &= 0 \\
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
\nabla \times \mathbf{B} &= \mu_0\mathbf{J} + \mu_0\epsilon_0\frac{\partial \mathbf{E}}{\partial t}
\end{align}
$$
<!-- ローレンツ変換 -->
$$
\begin{pmatrix}
ct' \\
x' \\
y' \\
z'
\end{pmatrix} =
\begin{pmatrix}
\gamma & -\gamma v/c & 0 & 0 \\
-\gamma v/c & \gamma & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
ct \\
x \\
y \\
z
\end{pmatrix}
$$
レンダリング結果:
$$i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)$$
$$ \begin{align} \nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_0} \ \nabla \cdot \mathbf{B} &= 0 \ \nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \ \nabla \times \mathbf{B} &= \mu_0\mathbf{J} + \mu_0\epsilon_0\frac{\partial \mathbf{E}}{\partial t} \end{align} $$
$$ \begin{pmatrix} ct' \ x' \ y' \ z' \end{pmatrix} = \begin{pmatrix} \gamma & -\gamma v/c & 0 & 0 \ -\gamma v/c & \gamma & 0 & 0 \ 0 & 0 & 1 & 0 \ 0 & 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} ct \ x \ y \ z \end{pmatrix} $$
数学定理
<!-- フーリエ変換 -->
$$\mathcal{F}\{f(t)\} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt$$
<!-- テイラー展開 -->
$$f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$$
<!-- オイラーの公式 -->
$$e^{i\theta} = \cos\theta + i\sin\theta$$
<!-- ガウス積分 -->
$$\int_{-\infty}^{\infty} e^{-ax^2} dx = \sqrt{\frac{\pi}{a}} \quad (a > 0)$$
<!-- ベイズの定理 -->
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
レンダリング結果:
$$\mathcal{F}{f(t)} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt$$
$$f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}(x-a)^n$$
$$e^{i\theta} = \cos\theta + i\sin\theta$$
$$\int_{-\infty}^{\infty} e^{-ax^2} dx = \sqrt{\frac{\pi}{a}} \quad (a > 0)$$
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
アルゴリズムの複雑さ
<!-- 時間計算量 -->
$$O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(2^n) < O(n!)$$
<!-- 再帰関係 -->
$$T(n) = \begin{cases}
1 & \text{if } n = 1 \\
2T(n/2) + O(n) & \text{if } n > 1
\end{cases}$$
<!-- マスター定理 -->
$$T(n) = aT(n/b) + f(n)$$
Where $a \geq 1$, $b > 1$, $f(n)$ is an asymptotically positive function.
レンダリング結果:
$$O(1) < O(\log n) < O(n) < O(n \log n) < O(n^2) < O(2^n) < O(n!)$$
$$T(n) = \begin{cases} 1 & \text{if } n = 1 \ 2T(n/2) + O(n) & \text{if } n > 1 \end{cases}$$
$$T(n) = aT(n/b) + f(n)$$ Where $a \geq 1$, $b > 1$, $f(n)$ is an asymptotically positive function.
数式のベストプラクティス
書き方の提案
✅ 推奨:
1. **セマンティックコマンドを使用**:
- `\sin`, `\cos`, `\log` を `sin`, `cos`, `log` の代わりに使用
- 微分を `\mathrm{d}x` で表現
2. **適切なスペーシングを維持**:
- 演算子の周りに適切なスペースを追加: `\,` (細いスペース), `\;` (中程度のスペース), `\quad` (大きなスペース)
3. **マッチングの括弧を使用**:
- 自動サイズ: `\left(\right)`, `\left[\right]`, `\left\{\right\}`
4. **数式を揃える**:
- `align` 環境を使用して等号を揃える
- `&` を揃えるためのマークとして使用
❌ 避ける:
1. 長い数式を1行にまとめない
2. 必要な括弧を欠落させる
3. 記号の使用を一貫性なくする
4. 構文エラーのチェックを無視する
一般的なエラー修正
<!-- ❌ 誤り -->
$sin(x)$, $log(x)$, $max(a,b)$
<!-- ✅ 正しい -->
$\sin(x)$, $\log(x)$, $\max(a,b)$
<!-- ❌ 誤り -->
$(\frac{a}{b})$
<!-- ✅ 正しい -->
$\left(\frac{a}{b}\right)$
<!-- ❌ 誤り -->
$x=1+2+3+...+n$
<!-- ✅ 正しい -->
$x = 1 + 2 + 3 + \cdots + n$
アクセシビリティに関する考慮事項
数式のアクセシビリティを向上させるために:
1. **テキスト説明を追加**:
$$E = mc^2$$
> これはアインシュタインの質量-エネルギー等価式です。つまり、エネルギーは質量と光速の二乗の積に等しいということです。
2. **代替テキストを使用**:
複雑な数式の後に簡略化された説明を追加
3. **色だけで区別しない**:
概念を区別するために異なる記号やスタイルを使用
4. **複雑な数式を簡潔にする**:
複雑な数式を複数のステップに分割
サポートされる数式環境
Markdownプロセッサーのサポート
プロセッサー | 数式サポート | 構文 | 設定 |
---|---|---|---|
GitHub | ✅ | $...$ , $$...$$ | 自動 |
GitLab | ✅ | $...$ , $$...$$ | 有効化が必要 |
VitePress | ✅ | $...$ , $$...$$ | プラグイン設定 |
Jekyll | ✅ | $...$ , $$...$$ | MathJax/KaTeX |
Hugo | ✅ | $...$ , $$...$$ | テーマサポート |
VitePress設定例
// .vitepress/config.js
export default {
markdown: {
math: true
}
}
レンダリングエンジン
一般的な数式レンダリングエンジン:
1. **MathJax**:
- 最も完全なサポート、完全なLaTeXをサポート
- 高いレンダリング品質、ただし遅い読み込み
2. **KaTeX**:
- 高速レンダリング
- 一般的な数式構文をサポート
- 小さいサイズ
3. **MathML**:
- ネイティブブラウザサポート
- 複雑な構文、通常は自動生成
関連構文
ツールとリソース
オンラインエディター
- LaTeX Live: LaTeX数式のリアルタイムプレビュー
- MathJax Demo: MathJaxレンダリングのテスト
- KaTeX Demo: KaTeX数式のテスト
- Desmos: グラフィック数式表現
数式編集ツール
- MathType: プロの数式編集ツール
- LaTeX Workshop (VS Code): LaTeX書き込みプラグイン
- MathQuill: 視覚的数式エディター
- Wiris: オンライン数式エディター
参考リソース
- LaTeX数式記号: 数式記号の参照表
- Detexify: 手書きLaTeX記号認識
- MathJaxドキュメント: 公式ドキュメント
- KaTeXサポート関数: サポート関数リスト
数式構文をマスターすることで、技術文書で複雑な数学概念や数式を美しく表現できます。