You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

xaringan无法正确渲染含代码列的kable表格问题求助

问题成因

该异常由两个原因共同导致:

  1. xaringan默认内置的CSS会给表格内的代码元素设置斜体样式,和html_document的默认样式规则不同
  2. 你在数据框Code列手动添加的Markdown反引号会被xaringan的渲染器二次解析,导致空格被压缩、格式错位

解决方法

你可以通过自定义CSS覆盖默认样式,同时使用kableExtra内置的参数生成代码列,避免手动加反引号的解析冲突,修改后的完整代码如下:

---
title: "Bug: posterior prints as two words"
output:
  xaringan::moon_reader
---
<!-- 自定义CSS覆盖xaringan默认表格代码样式 -->
<style>
table code {
  font-style: normal !important;
  white-space: pre !important;
}
</style>

```{r echo = FALSE}
`Table 2.1` <- data.frame(
  Algorithm  = c("Linear discriminant analysis", "Generalized Linear model",
                 "Mixture discriminant analysis", "Decision tree",
                 "Random forest", "Gradient boosting machine"),
  Package = c("MASS", "stats", "mda", "rpart", "ranger", "gbm"),
  # 不要手动加反引号,直接写代码文本
  Code = c("predict(obj)",
           "predict(obj, type = 'response')",
           "predict(obj, type = 'posterior')",
           "predict(obj, type = 'prob')",
           "predict(obj$predictions)",
           "predict(obj, type = 'response', n.trees)"))

suppressMessages(library(kableExtra))
kable(`Table 2.1`, format = 'html') %>% 
  column_spec(3, code = TRUE) %>% # 直接指定第3列为代码格式,自动生成code标签
  column_spec(1:3, background = "white")
修改后渲染的表格效果就和`html_document`完全一致了。

---
内容的提问来源于stack exchange,提问作者itsMeInMiami
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:09:08