Rmarkdown中LaTeX嵌套align与equation环境报错的解决咨询
问题解决方法
你遇到的错误是因为align(包括align*)本身就是amsmath提供的数学对齐环境,绝对不能在里面嵌套equation这类独立数学环境,LaTeX不允许数学环境嵌套,所以触发了"Bad math environment delimiter"错误。
针对你的需求(对齐+方程标签/编号),直接用以下两种方式处理即可:
方案1:每个方程单独编号+可交叉引用(对应原equation的标签需求)
用不带星号的align环境,它会自动给每个方程生成独立编号,同时支持用\label给单个方程加标签,对齐逻辑保持不变(&指定对齐位置,\\换行):
\begin{align} \frac{dF}{dt} &= - j_{FI} \label{eq:dfdt} \\ \frac{dV}{dt} &= j_{VG} \label{eq:dvdt} \end{align}
后续需要引用时,直接用\ref{eq:dfdt}就能调出对应方程的编号。
方案2:仅对齐排版,不需要编号
用带星号的align*环境,自动取消所有编号,专注对齐效果:
\begin{align*} \frac{dF}{dt} &= - j_{FI} \\ \frac{dV}{dt} &= j_{VG} \end{align*}
额外补充:部分编号需求
如果想让一组方程里部分编号、部分不编,在不需要编号的方程末尾加\notag即可:
\begin{align} \frac{dF}{dt} &= - j_{FI} \label{eq:dfdt} \\ \frac{dV}{dt} &= j_{VG} \notag \end{align}
内容的提问来源于stack exchange,提问作者lmbradley
相关产品推荐
相关产品推荐

