Rmarkdown编译为PDF时出现bmatrix报错:Missing $ inserted
Rmarkdown编译PDF报错排查与解决
问题背景
Rmarkdown文档编译为HTML时运行正常,但编译PDF时抛出错误,涉及的LaTeX公式代码如下:
\begin{equation} \begin{bmatrix} Y_{1,1} &\cdots &Y_{1,m} \\ Y_{2,1} &\cdots &Y_{2,m} \\ \vdots &\ddots &\vdots \\ Y_{n, 1} &... &Y_{n,m} \end{bmatrix} \text{=} \begin{bmatrix} 1 &X_{1,1} &\cdots &X_{1,p} \\ 1 &X_{2,1} &\cdots &X_{2,p} \\ \vdots &\vdots &\ddots &\vdots \\ 1 &X_{n, 1} &\cdots &X_{n,p} \end{bmatrix} \begin{bmatrix} B_{1,1} &\cdots &B_{1,m} \\ B_{2,1} &\cdots &B_{2,m} \\ \vdots &\ddots &\vdots \\ B_{n, 1} &\cdots &B_{n,m} \end{bmatrix} \text{+} \begin{bmatrix} \varepsilon_{1,1} &\cdots &\varepsilon_{1,m} \\ \varepsilon_{2,1} &\cdots &\varepsilon_{2,m} \\ \vdots &\ddots &\vdots \\ \varepsilon_{n, 1} &\cdots &\varepsilon_{n,m} \end{bmatrix} \end{equation}
报错信息
<inserted text> $ l.273 You may need to add $ $ around a certain inline R expression `r ` in ms.Rmd
排查方向与解决方案
虽然提供的公式代码中没有内联R表达式,但报错指向第273行的R代码包裹问题,结合PDF编译的LaTeX解析特性,可从以下几点入手:
- 统一省略号格式:公式中混用了
...和\cdots,PDF编译时LaTeX解析器可能将...误判为R代码的一部分,全部替换为\cdots即可避免这类识别错误。 - 检查内联R代码:定位第273行附近的内容,确认所有内联R表达式(如
r 变量名)都用$ $正确包裹,比如$r mean(df$value)$。 - 清理公式环境格式:LaTeX对公式环境内的空行敏感,移除
\begin{equation}和\end{equation}之间多余的空行,避免解析时出现段落分隔的误判。
修正后的公式示例:
\begin{equation} \begin{bmatrix} Y_{1,1} &\cdots &Y_{1,m} \\ Y_{2,1} &\cdots &Y_{2,m} \\ \vdots &\ddots &\vdots \\ Y_{n, 1} &\cdots &Y_{n,m} \end{bmatrix} \text{=} \begin{bmatrix} 1 &X_{1,1} &\cdots &X_{1,p} \\ 1 &X_{2,1} &\cdots &X_{2,p} \\ \vdots &\vdots &\ddots &\vdots \\ 1 &X_{n, 1} &\cdots &X_{n,p} \end{bmatrix} \begin{bmatrix} B_{1,1} &\cdots &B_{1,m} \\ B_{2,1} &\cdots &B_{2,m} \\ \vdots &\ddots &\vdots \\ B_{n, 1} &\cdots &B_{n,m} \end{bmatrix} \text{+} \begin{bmatrix} \varepsilon_{1,1} &\cdots &\varepsilon_{1,m} \\ \varepsilon_{2,1} &\cdots &\varepsilon_{2,m} \\ \vdots &\ddots &\vdots \\ \varepsilon_{n, 1} &\cdots &\varepsilon_{n,m} \end{bmatrix} \end{equation}
内容的提问来源于stack exchange,提问作者GSA
相关产品推荐
相关产品推荐

