Delete src/content/posts/how-to-add-latex-equations-in-blog-posts.md

This commit is contained in:
2026-06-13 15:35:28 +08:00
committed by GitHub
parent 859e945f36
commit dd27de2aff
@@ -1,156 +0,0 @@
---
author: Alberto Perdomo
pubDatetime: 2024-09-08T20:58:52.737Z
modDatetime: 2025-03-22T09:25:46.734Z
title: How to add LaTeX Equations in Astro blog posts
tags:
- docs
description: Learn how to add LaTeX equations in Astro blog posts using Markdown, KaTeX, and remark/rehype plugins.
---
This document demonstrates how to use LaTeX equations in your Markdown files for AstroPaper. LaTeX is a powerful typesetting system often used for mathematical and scientific documents.
<figure>
<img
src="https://images.pexels.com/photos/22690748/pexels-photo-22690748/free-photo-of-close-up-of-complicated-equations-written-on-a-blackboard.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2"
alt="Free Close-up of complex equations on a chalkboard, showcasing chemistry and math symbols. Stock Photo"
/>
<figcaption class="text-center">
Photo by <a href="https://www.pexels.com/photo/close-up-of-complicated-equations-written-on-a-blackboard-22690748/">Vitaly Gariev</a>
</figcaption>
</figure>
## Table of contents
## Instructions
In this section, you will find instructions on how to add support for LaTeX in your Markdown files for AstroPaper.
1. Install the necessary remark and rehype plugins by running:
```bash
pnpm install rehype-katex remark-math katex
```
2. Update the Astro configuration to use the these plugins:
```ts file=astro.config.ts
// ...
import remarkMath from "remark-math";
import rehypeKatex from "rehype-katex";
export default defineConfig({
// ...
markdown: {
remarkPlugins: [
remarkMath, // [!code ++]
remarkToc,
[remarkCollapse, { test: "Table of contents" }],
],
rehypePlugins: [rehypeKatex], // [!code ++]
shikiConfig: {
// For more themes, visit https://shiki.style/themes
themes: { light: "min-light", dark: "night-owl" },
wrap: false,
},
},
// ...
});
```
3. Import KaTeX CSS in the main layout file
```astro file=src/layouts/Layout.astro
---
import { SITE } from "@config";
// astro code
---
<!doctype html>
<!-- Other elements -->
<meta property="og:image" content={socialImageURL} />
<!-- [!code highlight:4] -->
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/katex@0.15.2/dist/katex.min.css"
/>
<body>
<slot />
</body>
```
4. As the last step, add a text-color for `katex` in `typography.css`.
```css file=src/styles/typography.css
@plugin "@tailwindcss/typography";
@layer base {
/* other classes */
/* Katex text color */
/* [!code highlight:3] */
.prose .katex-display {
@apply text-foreground;
}
/* ===== Code Blocks & Syntax Highlighting ===== */
/* other classes */
}
```
And _voilà_, this setup allows you to write LaTeX equations in your Markdown files, which will be rendered properly when the site is built. Once you do it, the rest of the document will appear rendered correctly.
---
## Inline Equations
Inline equations are written between single dollar signs `$...$`. Here are some examples:
1. The famous mass-energy equivalence formula: `$E = mc^2$`
2. The quadratic formula: `$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$`
3. Euler's identity: `$e^{i\pi} + 1 = 0$`
---
## Block Equations
For more complex equations or when you want the equation to be displayed on its own line, use double dollar signs `$$...$$`:
The Gaussian integral:
```bash
$$ \int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} $$
```
The definition of the Riemann zeta function:
```bash
$$ \zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s} $$
```
Maxwell's equations in differential form:
```bash
$$
\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}
$$
```
---
## Using Mathematical Symbols
LaTeX provides a wide range of mathematical symbols:
- Greek letters: `$\alpha$`, `$\beta$`, `$\gamma$`, `$\delta$`, `$\epsilon$`, `$\pi$`
- Operators: `$\sum$`, `$\prod$`, `$\int$`, `$\partial$`, `$\nabla$`
- Relations: `$\leq$`, `$\geq$`, `$\approx$`, `$\sim$`, `$\propto$`
- Logical symbols: `$\forall$`, `$\exists$`, `$\neg$`, `$\wedge$`, `$\vee$`