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

RMarkdown公式可转HTML但无法导出PDF/Word的问题排查

RMarkdown公式导出PDF/Word问题排查与解决

问题现象

  • 公式在HTML中显示正常,但导出PDF时触发LaTeX编译错误;单独导出第一个公式可生成PDF,但所有公式均无法导出为Word格式。

PDF导出错误信息

! Missing $ inserted.

$
l.241

You may need to add $ $ around a certain inline R expression r in PerceptionsTheftManuscript.Rmd.
Error: LaTeX failed to compile PerceptionsTheftManuscript.tex.
In addition: Warning messages:
1: package 'knitr' was built under R version 4.1.3
2: package 'rmarkdown' was built under R version 4.1.3
3: package 'tidyverse' was built under R version 4.1.3
Execution halted

用到的公式代码

\begin{equation}
\text{P}_{HurdleNegBinom}(y|\pi,\mu,\theta)= 
  \begin{cases} 

\pi, 
& y=0 \\ \\
(1-\pi) \cdot \text{P}_{ZeroTruncNegBinom}(y|\pi,\mu,\theta), & y>0 

\end{cases}
\end{equation}

<br>
<br>
<br>
<br>
  
\begin{equation}
\text{Y}_{ij} \sim HurdleNegBinom(\pi_{ij},\mu_{ij},\phi)  \\ \nonumber\\

\pi_{ij} = \frac{\text{exp}(\eta_{ij})}{1+\text{exp}(\eta_{ij})} \nonumber\\ \nonumber\\

\eta_{ij} = \alpha0^\eta+\boldsymbol{\beta0}_{j}^\eta+\beta1^\eta\cdot\text{Theft}_{i}+
  \beta2^\eta\cdot\text{MangDecl}_{i}+\beta3^\eta\cdot\text{MangArea}_{i}+\nonumber\\ \beta4^\eta\cdot\text{REDD}_{i}+
  \beta5^\eta\cdot\text{Gender}_{i}+\beta6^\eta\cdot\text{CommitteeMemb}_{i}\nonumber\\ \nonumber\\

\mu_{ij} = 
  \text{exp}(\alpha0^\mu+\boldsymbol{\beta0}_{j}^\mu+\beta1^\mu\cdot\text{Theft}_{i}+
               \beta2^\mu\cdot\text{MangDecl}_{i}+\beta3^\mu\cdot\text{MangArea}_{i}+\nonumber\\ \beta4^\mu\cdot\text{REDD}_{i}+
               \beta5^\mu\cdot\text{Gender}_{i}+\beta6^\mu\cdot\text{CommitteeMemb}_{i}) \nonumber\\ \nonumber\\


% \boldsymbol{\beta0}_{j} \sim Norm(0,\sigma) \nonumber
\end{equation}


<br>
<br>
<br>
<br>
  
\begin{equation}

\text{Y}_{ij} \sim Poisson(\mu_{ij})  \\ \nonumber\\

\mu_{ij} = 
  \text{exp}(\alpha0+\boldsymbol{\beta0}_{j}+\beta1\cdot\text{Theft}_{i}+
               \beta2\cdot\text{MangDecl}_{i}+\beta3\cdot\text{MangArea}_{i}+\nonumber\\ \beta4\cdot\text{REDD}_{i}+
               \beta5\cdot\text{Occupation}_{i}+\beta6\cdot\text{CommitteeMemb}_{i})

\end{equation}

排查与解决方法

PDF导出问题

  1. 修正LaTeX语法混乱
    • 第二个、第三个公式里的\\ \nonumber\\写法会干扰LaTeX解析,改成单个\\换行,多余的\nonumber直接删掉,不要连续加两个换行符。
    • 公式中用到了\text{}命令,需要在RMarkdown的YAML头部添加header-includes: - \usepackage{amsmath},确保LaTeX加载必要的包。
  2. 检查内联R表达式
    • 错误提示指向未正确包裹的内联R代码,去第241行附近查看,若存在r xxx这类代码,必须用$或$$包裹起来,避免和LaTeX语法冲突。
  3. 拆分复杂公式环境
    • 第二个公式内容过长,单个equation环境容易出问题,换成align环境拆分编写,示例如下:
      \begin{align}
      \text{Y}_{ij} &\sim HurdleNegBinom(\pi_{ij},\mu_{ij},\phi) \\
      \pi_{ij} &= \frac{\text{exp}(\eta_{ij})}{1+\text{exp}(\eta_{ij})} \\
      \eta_{ij} &= \alpha0^\eta+\boldsymbol{\beta0}_{j}^\eta+\beta1^\eta\cdot\text{Theft}_{i}+
                    \beta2^\eta\cdot\text{MangDecl}_{i}+\beta3^\eta\cdot\text{MangArea}_{i}+
                    \beta4^\eta\cdot\text{REDD}_{i}+\beta5^\eta\cdot\text{Gender}_{i}+\beta6^\eta\cdot\text{CommitteeMemb}_{i} \\
      \mu_{ij} &= \text{exp}(\alpha0^\mu+\boldsymbol{\beta0}_{j}^\mu+\beta1^\mu\cdot\text{Theft}_{i}+
                    \beta2^\mu\cdot\text{MangDecl}_{i}+\beta3^\mu\cdot\text{MangArea}_{i}+
                    \beta4^\mu\cdot\text{REDD}_{i}+\beta5^\mu\cdot\text{Gender}_{i}+\beta6^\mu\cdot\text{CommitteeMemb}_{i})
      \end{align}
      

Word导出问题

  1. 使用Word兼容的简洁语法
    • Word对复杂LaTeX环境支持有限,删掉公式里的<br>标签,改用空行分隔公式;cases和align环境尽量简化写法,避免过度嵌套。
  2. 升级pandoc版本
    • 旧版pandoc转换Word易出现渲染异常,升级到2.10以上版本可提升兼容性。
  3. 拆分长公式
    • 把过长的公式拆成多个小公式环境,Word渲染会更稳定,不要把所有内容堆在一个equation里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 23:55:20