如何添加自定义块标题

时间:2019-04-09 14:19:30

标签: r knitr

我试图在回显的代码和结果块上方分别添加自定义格式的标题。

这就是我所拥有的:

---
title: Block title
output:
  html_document:
    highlight: tango
---

```{r,include=FALSE,cache=FALSE}
knitr::knit_hooks$set(block.title=function(before,options,envir) {

  out_class <- NULL
  if(is.null(options$class.output)) {
  if(options$echo) out_class <- options$engine
  if((!options$echo) & (options$results != "hide")) out_class <- "Output"
  }else{
    out_class <- options$class.output
  }

  if(before) {
    paste0('<div><div class="block-title">',out_class,'</div>')
  }else{
    paste0('</div>')
  }
})
```

```{css,echo=FALSE}
.block-title {
  font-weight: bold;
  display: block;
  background-color: lightgrey;
  padding:5px 10px 5px 10px;
  border-radius: 3px 3px 3px 3px;
}
```
**r,eval=FALSE,block.title=TRUE**

```{r,eval=FALSE,block.title=TRUE}
str(iris)
```

**r,echo=FALSE,block.title=TRUE**

```{r,echo=FALSE,block.title=TRUE}
str(iris)
```

**r,block.title=TRUE**

```{r,block.title=TRUE}
str(iris)
```

enter image description here

当单独使用代码块或单独输出代码时,它可以按照我想要的方式工作。在第三种情况下,当我有代码块和输出块时,如何在输出块上方添加“输出”文本?同样,如果一个块中有多个代码/输出块。

0 个答案:

没有答案