【发布时间】:2014-01-08 00:46:39
【问题描述】:
我正在尝试将以下 div 和 class 添加到 knitr 中的整个 Rmd 文件中:
<div class="container">
</div>
我已经使用 css 创建了 container 类,如下所示:
.container {
box-shadow: 10px 10px 5px #888888;
width: 70%;
margin: 15em auto 5em;
margin-bottom:-9em;
margin-top:5em;
background: #FFF;
}
.container p {
padding-left: 14%;
padding-right: 10%;
text-indent : 1.25cm;
}
body {
background: #efefef;
}
我通常会使用 style.css 来添加它,但对于 MWE,我们会将它放在最后的 MW Rmd 文件的主文档正文中。我用container 类的div 包装了整个文档,并得到了这个输出HERE。注意标题# Hello World 没有作为标题处理? div 标签中的任何内容都不会被处理为 html。我可以通过在没有div 容器的情况下运行 knitr 来解决此问题,然后稍后添加它,如下所示:(The HTML 和The Rmd)。
如何将div标签直接添加到Rmd文件中?
<div class="container">
# Hello World
```{r setup, include=FALSE}
opts_chunk$set(cache=FALSE)
library(knitr); library(knitcitations);
```
<style>
.container {
box-shadow: 10px 10px 5px #888888;
width: 70%;
margin: 15em auto 5em;
margin-bottom:-9em;
margin-top:5em;
background: #FFF;
}
.container p {
padding-left: 14%;
padding-right: 10%;
text-indent : 1.25cm;
}
body {
background: #efefef;
}
</style>
</div>
【问题讨论】:
-
有趣的是,去掉结尾的
</div>给出了我所追求的。 -
大多数 Markdown 处理器会忽略
<div>标记之间的内容,因为它会混淆解析 Markdown 和 HTML 的混合。 -
他们会解析跨度标签之间的降价,因此黑客将使用跨度标签并添加一个将它们转换为 div 的文档挂钩。
-
@Ramnath,这听起来很有希望,但我已经阅读了有关钩子的文档,但不太了解如何制作钩子来做到这一点。你是在建议一个块还是输出钩子?
-
@Ramnath 我尝试了您的建议,如果我正确,它似乎仍然不起作用。看来我设置它的方式是在错误的时间执行 gsub。