LaTeX

By default, KaTeX\KaTeX is used for rendering LaTeX math expressions. No manual activation is needed, you can start using LaTeX math expressions in your Markdown content right away.

Example

Both inline and separate paragraph LaTeX math expressions are supported in the Markdown content.

Inline

page.md
This \(\sigma(z) = \frac{1}{1 + e^{-z}}\) is inline.

This σ(z)=11+ez \sigma(z) = \frac{1}{1 + e^{-z}} is inline.

Separate Paragraph

page.md
$$F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-j\omega t} \, dt$$

will be rendered as:

F(ω)=_f(t)ejωtdtF(\omega) = \int\_{-\infty}^{\infty} f(t) e^{-j\omega t} \, dt

For example, using the aligned environment:

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}
$$

will be rendered as:

E=ρε0B=0×E=Bt×B=μ0(J+ε0Et) \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}

Configuration

Important

Please enable and configure the passthrough extension in the Hugo configuration file, so that Hugo can detect LaTeX math expressions in your Markdown content.

hugo.yaml
markup:
  goldmark:
    extensions:
      passthrough:
        delimiters:
          block: [['\[', '\]'], ["$$", "$$"]]
          inline: [['\(', '\)']]
        enable: true

Supported Functions

For a list of supported functions, see KaTeX supported functions.

Chemistry

Chemistry expressions are supported via mhchem extension.

Inline: HX2O\ce{H2O} is water.

Separate paragraph:

page.md
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$

will be rendered as:

HgX2+IXHgIX2IX[HgXIIIX4]X2\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}

Math Engine

MathJax

By default, KaTeX is used for rendering LaTeX math expressions during the build process, which is preferred. Alternatively, you can use MathJax to render math expressions.

To use it instead, add the following to the configuration hugo.yaml file:

hugo.yaml
params:
  math:
    engine: mathjax