
* docs(blog): prepare for v0.10 release post * Update v0.10.md * Update v0.10.md to refine upgrade instructions and enhance blog features. Added synchronized tab switching and pagination controls, while improving the search experience and table of contents navigation. * Enhance v0.10 release documentation with detailed upgrade instructions and migration guide. Added Tailwind theme variable customization section and clarified breaking changes. Improved clarity on CSS class prefix changes for better user experience. * Update v0.10.md to enhance upgrade instructions, clarify breaking changes, and improve overall readability. Adjusted formatting for consistency and added details on asset management and user experience improvements. * Add notable new features to v0.10.md, including dropdown menu support, enhanced search experience, and blog list pagination. Updated FlexSearch upgrade details for clarity and improved migration guide by removing redundant breaking change notes. * chore: update zh-cn translation * chore: update ja translation * chore: update fa and ja translations * chore: prepare release
3.8 KiB
title, weight
title | weight |
---|---|
数学公式 | 4 |
LaTeX 数学表达式默认使用 (\KaTeX) 渲染。直接在 Markdown 内容中使用即可,无需手动配置。
使用方法
LaTeX 既可用于行内表达式,也可用于大段文本。
行内公式
要在文本行内插入表达式,用 \(
和 \)
包裹。
这个 \(\sigma(z) = \frac{1}{1 + e^{-z}}\) 是行内表达式。
这个 ( \sigma(z) = \frac{1}{1 + e^{-z}} ) 是行内表达式。
独立公式
对于需要单独成段的表达式,使用 $$
包裹。
$$F(\omega) = \int_{-\infty}^{\infty} f(t)\, e^{-j \omega t} \, dt$$
将渲染为:
F(\omega) = \int_{-\infty}^{\infty} f(t)\, e^{-j \omega t} \, dt
还可以使用 LaTeX 环境如 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}
$$
将渲染为:
\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 支持函数。
化学表达式
默认启用了 mhchem 扩展,可轻松渲染化学方程式和分子式。
行内示例:(\ce{H2O}) 是水。
独立段落:
$$\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}$$
将渲染为:
\ce{Hg^2+ ->[I-] HgI2 ->[I-] [Hg^{II}I4]^2-}
配置
Important
请在 Hugo 配置文件中启用并配置 passthrough 扩展,以便 Hugo 能识别 Markdown 中的 LaTeX 数学表达式。
markup:
goldmark:
extensions:
passthrough:
delimiters:
block: [['\[', '\]'], ["$$", "$$"]]
inline: [['\(', '\)']]
enable: true
数学引擎
构建过程中默认使用 KaTeX 渲染 LaTeX 数学表达式,由 Hugo 支持。
默认引擎是 KaTeX,但也可切换至 MathJax 以使用其特有功能。
KaTeX
默认设置无需配置。Hugo 会从 CDN 获取 KaTeX CSS。如需指定 KaTeX 版本或使用本地资源,可在 hugo.yaml
中配置。
覆盖 CDN 基础 URL
params:
math:
engine: katex
katex:
base: "https://cdn.jsdelivr.net/npm/katex@0.16.22/dist"
使用本地资源
可将 CSS 文件置于 assets
目录,并发布 KaTeX 所需的字体文件。
params:
math:
engine: katex
katex:
css: "css/katex.min.css"
assets:
- "fonts/KaTeX_Main-Regular.woff2"
# 在此添加其他字体文件
此时将从 assets/css/katex.min.css
加载 KaTeX CSS 文件,而非从 CDN 下载。
MathJax
也可使用 MathJax 渲染数学表达式:
params:
math:
engine: mathjax
Note
可通过在项目中覆盖
layouts/_partials/scripts/mathjax.html
模板进一步定制 MathJax(如调整加载器选项或更改 CDN/源)。Hugo 将优先使用你的版本而非主题默认配置。