RMarkdown表列名中的Latex数学表达式

Ben*_*Ben 5 latex r knitr r-markdown

我想在我的降价文档中显示一个表,并将列名设置为Latex数学公式,例如$\dot(m)_1 $.

我试过这个:

knitr::kable(my.df[, c("Time", "MassFlowRate")],
             row.names = FALSE,
             col.names = c("Time", "$\dot{m}_1$"))
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我最终没有生成PDF,而是生成Word文档.因此,直接编码Latex表不是一种选择.

sco*_*coa 6

你需要转义\传递给R代码所以\dots应该是\\dots:

```{r}
my.df <- data.frame(Time=rnorm(10), MassFlowRate = rnorm(10))
knitr::kable(my.df[, c("Time", "MassFlowRate")],
             row.names = FALSE,
             col.names = c("Time", "$\\dot{m}_1$"))
```
Run Code Online (Sandbox Code Playgroud)


low*_*rul 6

为了得到当前答案的工作,你需要添加, escape = FALSEkable()

另外,我更喜欢使用 atibble到 a data.frame。这样我就可以直接在列名中指定 LaTeX 代码。无需使用col.names.

```{r}
library(tibble)
my_df <- tibble(Time=rnorm(10), `$\\dot{m}_1$` = rnorm(10))
knitr::kable(my_df, escape = FALSE)
```
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢 - 帮助我解决了我的问题。也就是说,不需要使用“tibble”,有些帖子警告不要使用“tibble”。基本 R `data.frame` 也可以工作 - 只需要指定 `check.names = FALSE` 这样就不会发生强制转换 (2认同)