【问题标题】:kableExtra generates table code formatted as plain text in final LaTeX filekableExtra 在最终的 LaTeX 文件中生成格式为纯文本的表格代码
【发布时间】:2019-03-19 08:52:33
【问题描述】:

当标题包含某些字符时,kableExtra 似乎会破坏 LaTeX 中 kables 的正确格式。

kableExtra::kable 将在未使用标题或使用标准knitr::kable 时被正确格式化。

如果加载了kableExtra,以下代码将产生格式奇怪的结果。

---
title: "Mock"
output: 
  pdf_document:
    keep_tex: true
---

```{r header, echo= FALSE, include = FALSE,  warning= FALSE}
library(skimr)
library(knitr)
# library(kableExtra)

resumir <- function(var, unit = "", caption = NULL) {

  if(is.null(caption)) {caption <- deparse(substitute(var))}

  skim_to_wide(var) %>%
    mutate_all(as.numeric) %>% 
    kable(caption = paste0(caption, " (", unit, ")"))

}

mtcars2 <- mtcars %>% 
  rename("NO_CYL" = 'cyl', "PEAK_PERF" = "mpg")

attach(mtcars2)

```


`r resumir(POWER_HRS, unit = "$hours$")`

我想我已经知道发生了什么,但是在我经历了所有的麻烦之后找到了问题,我认为如果这在 SO 上出现并且有人发布答案(或者我会稍后发布)会很好。

【问题讨论】:

  • 如果您希望我们提供帮助,您应该发布产生您遇到的问题的代码。
  • 谢谢@user2554330,我确实尝试了几个小时并将继续尝试。如果我能够复制它,我想我可能已经解决了它......我只是发布这个希望有人会注意到我没有注意到的东西。
  • 一种策略是从完整文档的副本开始,并在仍然看到问题的同时尽可能多地删除。确实需要时间。
  • 昨天在编码部分我采取了相反的方法,慢慢地将元素添加到我的模拟文档中。我害怕编写完整的文档,因为即使有缓存也需要几分钟……这不足以真正专注于其他事情,但也足够长到失去耐心。无论如何,相当令人沮丧,因为问题仍然没有显示出来。我相信我现在已经测试了所有的编码部分......也许在文本中?一旦我找到一些东西,我会更新这个。完全理解它处于暂停状态。

标签: r r-markdown kable kableextra


【解决方案1】:

所以,为了简单起见,问题出在标题中有下划线。唯一有效的解决方案是删除它们,这并不过分不合理。

---
title: "Mock"
output: 
  pdf_document:
    keep_tex: true
---

```{r header, echo= FALSE, include = FALSE,  warning= FALSE}
library(knitr)
library(kableExtra)

attach(mtcars)


```


`r  kable(cyl, caption = "Cylinder_No.")`

knitr 有一个 bug report,但 knitr 目前可以正常工作。

【讨论】:

    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 2011-02-13
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多