Knitr html 格式问题

Knitr html formatting issue

数据框中的值在编织到 html 时发生了扭曲。当值少于 3 个字符时会发生这种情况,如下所示。 -5770 被正确转换为 (5770) 但 -577 导致 577. 并在其后附加了一个 li 元素。这是 knitr 的错误还是我的代码中的错误?

round_numeric <- function(num, prec = 0) {
  return (round(as.numeric(num), prec))
}

format_numeric <- function(num, prec = 0) {
  rounded_num <- abs(round_numeric(num, prec))
  res <- format(rounded_num, nsmall = prec, big.mark = ',', trim = TRUE)
  return (ifelse(num >= 0, res, sprintf('(%s)', res)))
}

col1 <- format_numeric(-5770)
col2 <- format_numeric(-577)
col3 <- format_numeric(300)

df <- t(data.frame(row1 = c(col1, col2, col3)))

df %>%
  kable(align = 'c', format = 'html') %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))

R-studio 中的正确输出:

在 html 文件中使用 knit 到 html 与 R-studio 的错误输出:

所以问题是 (577) 或括号内的任何整数被 pandocs 表达为有序列表。 为了防止这种情况,您可以在 YAML 中禁用它,只需添加以下内容。

output: 
  html_document:
    md_extensions: "-fancy_lists"