【发布时间】:2020-09-19 11:29:54
【问题描述】:
更新:KableExtra 创建者 haozhu233 为包添加了 mathjax 支持。在 Github 上查看我的原始问题和他的 cmets:https://github.com/haozhu233/kableExtra/issues/473#issuecomment-668224096
当我尝试使用 kable 和 kableExtra 创建表格时,我无法正确显示数学符号。我能够像预期的那样在普通 kable 表中生成数学字符。我已经尝试了选项 escape = FALSE 和protect_latex = T 的不同变体,但没有任何运气。如果我编织成 PDF 或 HTML,数学符号会正确显示,它只是显示原始字符的内联显示(和预览)和笔记本显示。
据我从 HTML 输出中可以看出,kable 表和 kableExtra 表之间的唯一区别是后者包含一些关于类和样式的额外信息。 R 对象也属于不同的类,这让我想知道问题是否可能是没有调用 mathjax 来渲染 kableExtra 对象?如果是这样,有没有办法告诉 Rstudio 在从 kableExtra 对象呈现 HTML 时调用 mathjax?
我已经在两台不同的计算机上使用 RStudio Cloud 重现了这个问题。
注意:我提交了Github Issue,但意识到在这里提问可能更合适。我还在Rstudio community 上发帖但没有得到回复,所以我想我会在这里碰碰运气。
代表:
---
title: "Kable Extra Math Symbols"
output: html_notebook
---
```{r}
math_symb <- c(1,2,3,4)
kable_table <- knitr::kable(math_symb, col.names = "$R^{2}$")
styled_kable_table <- kableExtra::kable_styling(kable_table)
kable_table
styled_kable_table
```{}
从示例中,对象kable_table 以列名"R2" 呈现,这是我想要实现的,而styled_kable_table 对象以不想要的列名"$R^2$" 显示
会话信息:
R 版本 3.6.3 (2020-02-29) 平台:x86_64-w64-mingw32/x64(64位) 运行于:Windows 10 x64(内部版本 18363)
矩阵产品:默认
语言环境: 2 LC_COLLATE=挪威 Bokmål_Norway.1252 LC_CTYPE=挪威 Bokmål_Norway.1252 [3] LC_MONETARY=挪威 Bokmål_Norway.1252 LC_NUMERIC=C [5] LC_TIME=挪威语 Bokmål_Norway.1252
附加的基础包: 2 stats graphics grDevices utils datasets methods base
通过命名空间加载(未附加): 2 Rcpp_1.0.4.6 rstudioapi_0.11 xml2_1.3.2 knitr_1.28 magrittr_1.5 hms_0.5.3 [7] munsell_0.5.0 rvest_0.3.5 viridisLite_0.3.0 colorspace_1.4-1 R6_2.4.1 rlang_0.4.6 [13] stringr_1.4.0 httr_1.4.1 highr_0.8 tools_3.6.3 webshot_0.5.2 xfun_0.14 [19] htmltools_0.4.0 ellipsis_0.3.0 yaml_2.2.1 digest_0.6.25 tibble_3.0.1 生命周期_0.2.0 [25] 蜡笔_1.3.4 kableExtra_1.1.0 读卡器_1.3.1 vctrs_0.3.0 胶水_1.4.1 评估_0.14 [31] rmarkdown_2.1 stringi_1.4.6 compiler_3.6.3 pillar_1.4.4 scales_1.1.1 pkgconfig_2.0.3
【问题讨论】:
-
欢迎来到 SO!为了帮助我们帮助您,最好提供一个简单的、独立的示例来演示您的问题,并可用于测试我们的解决方案。 This post 可能会有所帮助。您提供了很多上下文(做得好!),但未能提供任何示例说明哪些符号未按您希望的方式打印。
-
您好,感谢您的热情欢迎和建议。我已经编辑了我的帖子,以指示未按预期打印的符号。
标签: r r-markdown knitr mathjax kableextra