我正在使用knitr生成一些报告。我使用kable在文档中生成HTML表。在标题中,我想使用换行符(或其他html标记)来增强表格
<!--begin.rcode results='asis'
s <- rbind(c(1,2,3,4),c(1,2,3,4),c(1,2,3,4))
kable(s, col.names=c("Try Newline\nn","Try HTML break<br>%","Past 6 months\nn","\n%"))
end.rcode-->
如您所见,我正在尝试不同的选择,但没有成功。在我的结果中,仅在HTML源代码中的换行符中翻译了换行符(\ n)。
标签会转换为HTML特殊字符。
有什么建议?
据我所知,管道表语法不支持单元格中的换行符,因此,如果pandoc
用于将markdown转换为HTML(这是RStudio所使用的),那么最好选择一些功能更丰富的表语法,例如multiline
或grid
。不确定如何使用进行操作kable
,但pander
支持以下操作:
> library(pander)
> colnames(s) <- c("Try Newline\nn","Try HTML break<br>%","Past 6 months\nn","\n%")
> pander(s, keep.line.breaks = TRUE)
-------------------------------------------------------
Try Newline Try HTML break<br>% Past 6 months %
n n
------------- --------------------- --------------- ---
1 2 3 4
1 2 3 4
1 2 3 4
-------------------------------------------------------
但这还不够,因为会自动删除换行符pandoc
,因此您必须根据相关文档在其中放置硬换行符(“反斜杠后跟换行符”)。例如,以下代码按预期转换为HTML:
> colnames(s) <- c("Try Newline\\\nn","Try HTML break\\\n%","Past 6 months\\\nn","\\\n%")
> pander(s, keep.line.breaks = TRUE)
-----------------------------------------------------
Try Newline\ Try HTML break\ Past 6 months\ \
n % n %
-------------- ----------------- ---------------- ---
1 2 3 4
1 2 3 4
1 2 3 4
-----------------------------------------------------
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句