我的函数 bs.pi.gmp()
定义 here可以产生很长的字符串:
> bs.pi.gmp(8)
$Sn
Big Rational ('bigq') :
[1] 115056663317199981372832786803399641133848259535718238578854114440177847232763528127119686643465544336537363974090559640151844992619459739337642897335661405374200830442503779326745081494631228217510085926896107230240702464/73247346810369298651903071099557979072216039642432949710389234675732768750102001285974817825809831148661290123993641325086924401900965008305646606428886048721946203288377842830920059623434101646117412656625454480462852875
$eval.Sn
[1] "1.570796326794896557999"
当我在 RMarkdown 文档中运行 bs.pi.gmp(8)
时,字符串超出了屏幕宽度。我曾尝试使用 options(width=...)
或在 block 中使用 tidy
选项来解决该问题,但这不起作用。如何解决?
然而,当我简单地复制粘贴 knitr 在 overblog 上生成的 html 时然后,如您所见,渲染是完美的。这肯定是由于在博客上发布文章时产生的 html 选项(在标题中),但是这个选项是什么?
最佳答案
在 overblog 站点上,长字符串所在的容器具有 word-wrap: break-word
,而在此处的示例中,它没有。 (word-wrap
设置为其默认值,normal
)。
另见 https://developer.mozilla.org/en-US/docs/Web/CSS/word-wrap
解决方案:将样式 word-wrap: break-word
应用于放置字符串的任何位置。
(不幸的是,我不太精通 RMarkdown,我不确定你应该如何准确地做到这一点。但我相信肯定它会成功。)
编辑:
如果您可以完全控制 CSS,则只需将该属性添加到 pre code
的样式即可。
所以完整的风格会是这样
pre code {
display: block; padding: 0.5em;
word-wrap: break-word;
}
关于html - knitr html 输出中的字符串太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18289818/