我之前问过一个关于如何在R中导出HTML表格并控制线条边界的问题.
我习惯了LaTeX,当你创建一个表时,表格的格式很大程度上取决于那一点出现的文本和标记.这适用于Sweave,因为您的R代码块可以在该点输出LaTeX表标记.我也明白,有些工具xtable可以为表格生成HTML标记.
但是,对HTML表的控制似乎依赖于样式表,样式表应该出现在文档的标题中,而不是放在R代码块放置的位置.当然,我可以将内容放在样式表中,但在科学应用程序中,通常可能存在一些非常具体的表格格式,这些格式在某些方面因表格而异.
因此,我的问题:
我可以想到三种方法而不会弄乱你的工具链,所有这些都是hacky.
只需输出<style>正文.这在技术上并不合适,但它可以在任何主要浏览器中正常工作.
发出JavaScript,<style>在运行时创建一个块并将其附加到头部(这是一种方式).这在HTML源代码和R代码中看起来有点粗略,但它会起作用并且会验证.
使用范围样式块.这正是您正在寻找的,除了scope属性是HTML5的新功能,尚未在任何主要浏览器中实现.但是,如果你的样式基于唯一生成的ID(即你的规则被编写为即使它们适用于整个文档也不会弄乱任何东西),我认为浏览器将忽略"scoped"属性和所有内容将正常工作 - 然后这实际上是一个碰巧验证的选项1的版本!
(我个人会和#3一起去.)
如果您还没有,那么值得在RStudio支持论坛上开始讨论这个问题.虽然它不是严格意义上的RStudio问题,但我们显然在R Markdown中发布报告的端到端场景上做了大量工作,并希望了解更多有关您的具体示例的信息.表格显然将成为人们对此报告的重要组成部分,我们知道现在这是一个弱点,我们确实希望在未来的版本中解决这个问题.