mirror of
https://github.com/imfing/hextra.git
synced 2025-08-23 09:36:50 -04:00
146 lines
4.6 KiB
Markdown
146 lines
4.6 KiB
Markdown
---
|
|
title: "LaTeX"
|
|
weight: 4
|
|
---
|
|
|
|
LaTeX の数式表現はデフォルトで \(\KaTeX\) を使用してレンダリングされます。特別な設定なしで、Markdown コンテンツ内に直接記述できます。
|
|
|
|
## 使用方法
|
|
|
|
LaTeX はインライン式とブロック式の両方で使用できます。
|
|
|
|
### インライン数式
|
|
|
|
文中に数式を含めるには、`\(` と `\)` で囲みます。
|
|
|
|
```markdown {filename="page.md"}
|
|
この \(\sigma(z) = \frac{1}{1 + e^{-z}}\) はインライン式です。
|
|
```
|
|
|
|
この \( \sigma(z) = \frac{1}{1 + e^{-z}} \) はインライン式です。
|
|
|
|
### ディスプレイ数式
|
|
|
|
独立した段落として表示する数式には、`$$` で囲みます。
|
|
|
|
```markdown {filename="page.md"}
|
|
$$F(\omega) = \int_{-\infty}^{\infty} f(t)\, e^{-j \omega t} \, dt$$
|
|
```
|
|
|
|
次のようにレンダリングされます:
|
|
|
|
$$F(\omega) = \int_{-\infty}^{\infty} f(t)\, e^{-j \omega t} \, dt$$
|
|
|
|
複数行の数式には `aligned` などの LaTeX 環境も使用できます。
|
|
|
|
```latex {filename="page.md"}
|
|
$$
|
|
\begin{aligned}
|
|
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
|
|
\nabla \cdot \mathbf{B} &= 0 \\
|
|
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
|
|
\nabla \times \mathbf{B} &= \mu_0 \left( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right)
|
|
\end{aligned}
|
|
$$
|
|
```
|
|
|
|
次のようにレンダリングされます:
|
|
|
|
$$
|
|
\begin{aligned}
|
|
\nabla \cdot \mathbf{E} &= \frac{\rho}{\varepsilon_0} \\
|
|
\nabla \cdot \mathbf{B} &= 0 \\
|
|
\nabla \times \mathbf{E} &= -\frac{\partial \mathbf{B}}{\partial t} \\
|
|
\nabla \times \mathbf{B} &= \mu_0 \left( \mathbf{J} + \varepsilon_0 \frac{\partial \mathbf{E}}{\partial t} \right)
|
|
\end{aligned}
|
|
$$
|
|
|
|
サポートされている関数の一覧は [KaTeX サポート関数](https://katex.org/docs/supported.html) を参照してください。
|
|
|
|
### 化学式
|
|
|
|
[mhchem][mhchem] 拡張がデフォルトで有効になっており、化学式を簡単に記述できます。
|
|
|
|
インライン: \(\ce{H2O}\) は水です。
|
|
|
|
独立段落:
|
|
|
|
```markdown {filename="page.md"}
|
|
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
|
|
```
|
|
|
|
次のようにレンダリングされます:
|
|
|
|
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
|
|
|
|
## 設定
|
|
|
|
> [!IMPORTANT]
|
|
> Hugo が Markdown コンテンツ内の LaTeX 数式を認識できるよう、[パススルー拡張](https://gohugo.io/content-management/mathematics/) を Hugo 設定ファイルで有効にしてください。
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
markup:
|
|
goldmark:
|
|
extensions:
|
|
passthrough:
|
|
delimiters:
|
|
block: [['\[', '\]'], ["$$", "$$"]]
|
|
inline: [['\(', '\)']]
|
|
enable: true
|
|
```
|
|
|
|
### 数式エンジン
|
|
|
|
[KaTeX][katex] はビルド時に LaTeX 数式をレンダリングするデフォルトエンジンで、[Hugo][hugo-transform-tomath] でサポートされています。
|
|
|
|
デフォルトは KaTeX ですが、MathJax のみの機能が必要な場合は [MathJax][mathjax] に切り替えられます。
|
|
|
|
#### KaTeX
|
|
|
|
デフォルト設定では追加の設定は不要です。Hugo は KaTeX の CSS を CDN から取得します。
|
|
特定のバージョンを固定したりローカルアセットを使用する場合は、`hugo.yaml` ファイルで設定できます。
|
|
|
|
##### CDN ベース URL の上書き
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
params:
|
|
math:
|
|
engine: katex
|
|
katex:
|
|
base: "https://cdn.jsdelivr.net/npm/katex@0.16.22/dist"
|
|
```
|
|
|
|
##### ローカルアセットの使用
|
|
|
|
CSS ファイルを `assets` ディレクトリに配置し、KaTeX に必要なフォントファイルを追加できます。
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
params:
|
|
math:
|
|
engine: katex
|
|
katex:
|
|
css: "css/katex.min.css"
|
|
assets:
|
|
- "fonts/KaTeX_Main-Regular.woff2"
|
|
# 他のフォントファイルをここに追加
|
|
```
|
|
|
|
これにより、CDN ではなく `assets/css/katex.min.css` から KaTeX CSS ファイルが読み込まれます。
|
|
|
|
#### MathJax
|
|
|
|
代わりに [MathJax][mathjax] を使用して数式をレンダリングすることもできます:
|
|
|
|
```yaml {filename="hugo.yaml"}
|
|
params:
|
|
math:
|
|
engine: mathjax
|
|
```
|
|
|
|
> [!NOTE]
|
|
> MathJax をさらにカスタマイズするには(ローダーオプションの調整や CDN/ソースの変更など)、プロジェクトの `layouts/_partials/scripts/mathjax.html` でテンプレートを上書きしてください。Hugo はテーマのデフォルトではなく、あなたのバージョンを使用します。
|
|
|
|
[katex]: https://katex.org/
|
|
[mathjax]: https://www.mathjax.org/
|
|
[mhchem]: https://mhchem.github.io/MathJax-mhchem/
|
|
[hugo-transform-tomath]: https://gohugo.io/functions/transform/tomath/ |