Skip to content
返回

如何在 Astro 博客文章中添加 LaTeX 公式

更新于:

本文档演示如何在 AstroPaper 的 Markdown 文件中使用 LaTeX 公式。LaTeX 是一种强大的排版系统,常用于数学和科学文档。

Free Close-up of complex equations on a chalkboard, showcasing chemistry and math symbols. Stock Photo
图片来源于 Vitaly Gariev

目录

说明

在本节中,你将找到有关如何在 AstroPaper 的 Markdown 文件中添加 LaTeX 支持的说明。

  1. 运行以下命令安装必要的 remark 和 rehype 插件:
pnpm install rehype-katex remark-math katex
  1. 更新 Astro 配置以使用这些插件:
// ...
import remarkMath from "remark-math";
import rehypeKatex from "rehype-katex";
export default defineConfig({
  // ...
  markdown: {
    remarkPlugins: [
      remarkMath,
      remarkToc,
      [remarkCollapse, { test: "Table of contents" }],
    ],
    rehypePlugins: [rehypeKatex],
    shikiConfig: {
      // 更多主题,请访问 https://shiki.style/themes
      themes: { light: "min-light", dark: "night-owl" },
      wrap: false,
    },
  },
  // ...
});astro.config.ts
  1. 在主布局文件中导入 KaTeX CSS
---
import { SITE } from "@config";
// astro code
---

<!doctype html>
<!-- 其他元素 -->
<meta property="og:image" content={socialImageURL} />
<link
  rel="stylesheet"
  href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css"
/>
<body>
  <slot />
</body>src/layouts/Layout.astro
  1. 最后一步,在 typography.css 中为 katex 添加文本颜色。
@plugin "@tailwindcss/typography";
@layer base {
  /* 其他类 */
  /* Katex 文本颜色 */
  .prose .katex-display {
    @apply text-foreground;
  }
  /* ===== 代码块 & 语法高亮 ===== */
  /* 其他类 */
}src/styles/typography.css

完成了,此设置允许你在 Markdown 文件中编写 LaTeX 公式,这些公式将在构建网站时正确渲染。完成后,文档的其余部分将正确显示。

行内公式

行内公式写在单个美元符号 $...$ 之间。以下是一些示例:

  1. 著名的质能方程:$E = mc^2$
  2. 求根公式:$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$
  3. 欧拉恒等式:$e^{i\pi} + 1 = 0$

块级公式

对于更复杂的公式,或者当你希望公式独占一行显示时,请使用双美元符号 $$...$$: 高斯积分:

$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$

黎曼 Zeta 函数的定义:

$$
\zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s}
$$

麦克斯韦方程组的微分形式:

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

使用数学符号

LaTeX 提供了广泛的数学符号:


Share this post on:

Previous Post
在 AstroPaper 主题中添加新文章
Next Post
博客文章中的动态 OG 图片生成