使用Bookdown

时间:2018-06-06 01:43:09

标签: r bookdown kable

我正在尝试从包含复杂表格的Bookdown脚本生成PDF。该表包含一些在其中包含下标的参数名称。我还想给一些行上色。示例脚本如下所示:

---
title: "Example problem"
author: "Frida Gomam"
site: bookdown::bookdown_site
documentclass: book
output:
  #bookdown::gitbook: default
  bookdown::pdf_book: default
always_allow_html: yes  
---
This is a test example for the problem.

```{r}
library(magrittr)
library(knitr)
library(kableExtra)
df <- data.frame(Parameter = c("NO~x~ emissions", "SO~2~ emissions", "CO~2~     emissions"), "Value mg/Nm^3^" = c(800,900,1000),check.names=F)

knitr::kable(df,escape = F, caption = 'Example table!',  booktabs = TRUE, format = "latex") %>% #
  row_spec(0, bold = T, color = "white", background = "#045a8d") %>%
  row_spec(c(2), bold = T, color = "white", background = "#3690c0")
```
blah blah

我可以使用kable格式运行脚本'format =“html”',结果看起来很好,包括彩色行和下标。当我将格式更改为Latex时,下标未在生成的pdf中正确显示。

我尝试将参数escape = F添加到kable,但构建过程失败。

Quitting from lines 14-23 (_main.Rmd) 
Error in kable_latex(x = c("$NO_{x}$ emissions", "SO2 emissions", "CO2 emissions",  : 
  unused argument (example = FALSE)
Calls: <Anonymous> ... eval -> %>% -> eval -> eval -> <Anonymous> -> do.call

任何人都可以帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

对我而言,如果我使用(转义)LaTeX语法:

---
title: "Example problem"
author: "Frida Gomam"
site: bookdown::bookdown_site
documentclass: book
output:
  bookdown::pdf_book: default
  #bookdown::gitbook: default
always_allow_html: yes  
---
This is a test example for the problem.

```{r}
library(magrittr)
library(knitr)
library(kableExtra)
df <- data.frame(Parameter = c("NO\\textsubscript{x} emissions", "SO\\textsubscript{2} emissions", "CO\\textsubscript{2}     emissions"),
                 "Value mg/Nm\\textsuperscript{3}" = c(800,900,1000),
                 check.names = F)

knitr::kable(df,escape = F, caption = 'Example table!',  booktabs = TRUE, format = "latex") %>% #
  row_spec(0, bold = T, color = "white", background = "#045a8d") %>%
  row_spec(c(2), bold = T, color = "white", background = "#3690c0")
```
blah blah