使用 knitr 生成 html 和 md 报告时出现“无效方程式”错误

问题描述 投票:0回答:1

我的 Rmd 报告中有方程式,在 RStudio 中预览时显示良好,

$$
\begin{align*}
\text{hwy}_i & \sim \operatorname{Normal}(\mu_i, \sigma_\epsilon) \\
\mu_i & = \beta_0 + \beta_1 \text{displ_mc}_i \\
\beta_0 & \sim \operatorname{Normal}(20, 5) \\
\beta_1 & \sim \operatorname{Normal}(-2.5, 1) \\
\sigma_\epsilon & \sim \operatorname{Exponential}(1)
\end{align*}
$$

...但是当我以 html 或 md 格式编织我的报告时,我只在报告中看到一个“无效方程”图标

我不确定为什么,但似乎是“\mu_i & = eta_0 + eta_1 ext{displ_mc}_i \”这一行触发了错误。当我删除这条线时,报告编织得很好。但显然我的报告中需要这些信息。

r knitr mathjax
1个回答
0
投票

您提供的方程式的问题似乎与变量名称中的下划线字符“_”有关。在 LaTeX 中,下划线用于指示下标,这就是为什么它在尝试呈现方程式时会导致错误。

解决这个问题的一种方法是用反斜杠 () 包裹变量名,以告诉 LaTeX 将下划线视为文本。这是修改后的方程式:

\begin{align*}
\text{hwy}_i &\sim \operatorname{Normal}(\mu_i, \sigma_\epsilon) \\
\mu_i &= \beta_0 + \beta_1 \text{\textbackslash{}displ\_mc\textbackslash{}}_i \\
\beta_0 &\sim \operatorname{Normal}(20, 5) \\
\beta_1 &\sim \operatorname{Normal}(-2.5, 1) \\
\sigma_\epsilon &\sim \operatorname{Exponential}(1)
\end{align*}

这应该在您的报告中正确呈现。

© www.soinside.com 2019 - 2024. All rights reserved.