Overleaf使用equation环境仍报Missing $ inserted错误如何解决
错误原因
tabular 环境默认运行在文本模式下,即便外层包裹了equation这类数学环境,其内部单元格也会自动切换回文本模式。直接在单元格内编写数学公式没有显式声明数学环境,因此触发了Missing $ inserted报错。虽然当前输出符合预期,但这个语法隐患确实会导致后续其他编译问题联动报错。
修正方案
推荐使用amsmath包提供的aligned环境替代tabular,它是专门用于数学环境下的多行公式对齐环境,不需要额外处理模式切换问题,修正后代码如下:
% 注意要在导言区引入amsmath包:\usepackage{amsmath} \begin{equation} \left( \begin{aligned} &\sum\limits_{i=0}^n\bigg |\sum\limits_{j=0}^ip_{j}-q_{j}\bigg | \geq \bigg | \sum\limits_{i=0}^n\sum\limits_{j=0}^ip_{j}-q_{j}\bigg | = \bigg | \sum\limits_{j=0}^n\sum\limits_{i=0}^jp_{j}-q_{j}\bigg |\\ &= \bigg |\sum\limits_{j=0}^n(p_{j}-q_{j})(j+1)\bigg | = \bigg |\sum\limits_{j=0}^n j(p_{j}-q_{j}) + (p_{j}-q_{j})\bigg |\\ &= \bigg |\sum\limits_{j=0}^n jp_{j} - \sum\limits_{j=0}^n jq_{j}\bigg | = \bigg |\mu_{p} - \mu_{q}\bigg | \end{aligned} \right) \end{equation}
如果坚持要使用tabular实现,需要修改列格式为单元格自动开启数学模式,代码如下:
\begin{equation} \left(\begin{tabular}{>{$}l<{$}} \sum\limits_{i=0}^n\bigg |\sum\limits_{j=0}^ip_{j}-q_{j}\bigg | \geq \bigg | \sum\limits_{i=0}^n\sum\limits_{j=0}^ip_{j}-q_{j}\bigg | = \bigg | \sum\limits_{j=0}^n\sum\limits_{i=0}^jp_{j}-q_{j}\bigg |\\ = \bigg |\sum\limits_{j=0}^n(p_{j}-q_{j})(j+1)\bigg | = \bigg |\sum\limits_{j=0}^n j(p_{j}-q_{j}) + (p_{j}-q_{j})\bigg |\\ = \bigg |\sum\limits_{j=0}^n jp_{j} - \sum\limits_{j=0}^n jq_{j}\bigg | = \bigg |\mu_{p} - \mu_{q}\bigg | \end{tabular}\right) \end{equation}
内容的提问来源于stack exchange,提问作者Jason K.
相关产品推荐
相关产品推荐

