繁体   English   中英

knitr kable 将单元格文本格式化为有序列表

[英]knitr kable formatting cell text as ordered list

我在 rmarkdown/html 文档中创建一个表,它无意中将单元格值更改为一个有序列表,例如 (123) 的格式。 下面是一个例子。 任何帮助将是最受欢迎的。

输出在这里

---
output: html_document
---

df <-
  data.frame(
    col1 = c("a", "b"),
    col2 = c("(123)", "(61)"),
    stringsAsFactors = FALSE
    )

knitr::kable(
  df,
  format = "html",
  align = c('lr')
)

这些值被识别为 markdown 并且 pandoc 认为(123)(61)是列表项。 尝试

df <- data.frame(col1 = c("a", "b"),
                 col2 = c("(123)", "(61)"),
                 stringsAsFactors = F)

df$col2 <- gsub("\\(", "&lpar;", df$col2)
df$col2 <- gsub("\\)", "&rpar;", df$col2)

用他们的 HTML实体代码替换括号。

注意: stringsAsFactors = F是 R > 4.0 中的新默认值

另一种方法是禁用fancy_lists扩展。 这将全局应用于文档,因此您可能更喜欢@MartinSchmelzer 的解决方案。

只需将其放入您的 YAML:

output: 
  html_document:
    md_extensions: "-fancy_lists"

完成此操作后,您只会获得带数字的有序列表(无字母或罗马数字),并且它们的格式必须为1. ,而不是(1)1)等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM