knitr kable 将单元格文本格式化为有序列表
knitr kable formatting cell text as ordered list
我正在 rmarkdown/html 文档中创建一个 table,它无意中将单元格值更改为一个有序列表,例如格式为 (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("\(", "(", df$col2)
df$col2 <- gsub("\)", ")", df$col2)
用他们的 HTML entity code.
替换括号
注意: stringsAsFactors = F
是 R > 4.0
中的新默认值
另一种方法是禁用 fancy_lists
扩展。这将全局应用于文档,因此您可能更喜欢@MartinSchmelzer 的解决方案。
只需将其放入您的 YAML 中即可:
output:
html_document:
md_extensions: "-fancy_lists"
完成此操作后,您只会得到带数字的有序列表(无字母或罗马数字),并且它们的格式必须为 1.
,而不是 (1)
或1)
,等等
我正在 rmarkdown/html 文档中创建一个 table,它无意中将单元格值更改为一个有序列表,例如格式为 (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("\(", "(", df$col2)
df$col2 <- gsub("\)", ")", df$col2)
用他们的 HTML entity code.
替换括号注意: stringsAsFactors = F
是 R > 4.0
另一种方法是禁用 fancy_lists
扩展。这将全局应用于文档,因此您可能更喜欢@MartinSchmelzer 的解决方案。
只需将其放入您的 YAML 中即可:
output:
html_document:
md_extensions: "-fancy_lists"
完成此操作后,您只会得到带数字的有序列表(无字母或罗马数字),并且它们的格式必须为 1.
,而不是 (1)
或1)
,等等