You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML环境下公式对齐与编号同步实现问题求助

问题:公式对齐与编号在HTML渲染中无法同时生效

我需要同时实现公式对齐与编号功能,PDF渲染时效果符合预期,但HTML渲染时仅对齐生效,编号不显示。

最小可复现示例(MWE):

---
title: "equation example"
format: html
---

\begin{align}
x &= 2y\\
x^2 &= 2y*2y
\end{align}

我尝试用交叉引用方式手动添加编号,但这样会丢失对齐效果:

---
title: "equation example"
format: html
---

$$
x = 2y
$$ {#eq-1}

$$
x^2 = 2y*2y
$$ {#eq-2}

补充说明:PDF格式下公式能通过&符号正常对齐,我希望在HTML中复现该对齐效果并保留公式编号。


解决方案

方法1:配置MathJax自动编号

在文档YAML头部添加MathJax配置,开启AMS环境的自动编号功能,这样align环境在HTML中会自动生成编号并保留对齐:

---
title: "equation example"
format: 
  html:
    html-math-method:
      method: mathjax
      options:
        equationNumbers:
          autoNumber: "AMS"
---

\begin{align}
x &= 2y\\
x^2 &= 2y \times 2y
\end{align}

方法2:单块对齐公式+整体编号

如果需要一组对齐公式共用一个编号,可以用equation嵌套split环境,同时支持交叉引用:

---
title: "equation example"
format: html
---

\begin{equation}
\begin{split}
x &= 2y\\
x^2 &= 2y \times 2y
\end{split}
\end{equation} {#eq-aligned-group}

方法3:手动指定独立编号

若需每行公式单独编号,可在align环境中用\tag{}手动设置编号,配合\label{}支持交叉引用(需开启方法1中的MathJax配置):

---
title: "equation example"
format: 
  html:
    html-math-method:
      method: mathjax
      options:
        equationNumbers:
          autoNumber: "AMS"
---

\begin{align}
x &= 2y \tag{1}\label{eq-first}\\
x^2 &= 2y \times 2y \tag{2}\label{eq-second}
\end{align}

内容的提问来源于stack exchange,提问作者Julian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 02:20:30