使用xtable或knitr :: kable抑制.Rmd文件中的自动表名和编号

时间:2015-07-02 10:31:21

标签: r latex rstudio knitr xtable

在.Rmd文件中使用Table 1:...xtable()时,我想从R脚本中命名我的表而不使用自动knitr::kable()前缀。输出是pdf文档。

以下是.Rmd文件的可重现示例:

---
title: "Suppress automatic table name and number"
output: pdf_document
---

```{r myirischunk, results = 'asis', tab.cap = NULL, echo = TRUE}
library(xtable)

print(knitr::kable(head(iris), caption = "I sure wish it would say Table    1.a"))
print(knitr::kable(head(iris), caption = "Please stop"))
print(xtable(head(iris), caption = "Same thing with xtable"))
```

我在一些建议here中看到了类似的问题,但我似乎无法在.Rmd文件中使用它。

2 个答案:

答案 0 :(得分:9)

事实证明我需要在YAML部分添加以下内容:

header-includes:
    - \usepackage{caption}

以及代码块之前的某个地方:

\captionsetup[table]{labelformat=empty}

现在可行:

---
title: "Suppress automatic table name and number"
output: pdf_document
header-includes:
    - \usepackage{caption}
---

\captionsetup[table]{labelformat=empty}

```{r myirischunk, results = 'asis', tab.cap = NULL, echo = TRUE}
print(knitr::kable(head(iris), caption = "Table 21.a - My very own table name"))
```

这里也有描述:

Get rid of captions using texreg in markdown

是的,我有点尴尬,我没有立即找到答案。

无论如何,感谢daroczig将我指向tex方向,而不是尝试使用块选项或类似的东西来解决问题。

答案 1 :(得分:4)

如果您也想以相同的方式想要数字,请通过vestland将示例修改为

---
title: "Suppress automatic table name and number"
output: pdf_document
header-includes:
    - \usepackage[labelformat=empty]{caption}
---

并跳过\captionsetup{}