Как добавить пользовательский заголовок блока - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь добавить пользовательский форматированный заголовок над повторяющимся кодом и блоком результатов отдельно.

Вот что у меня есть:

---
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

Это работает так, как я хочу, когда один блок кода или один выход. В третьем случае, где у меня есть блок кода и блок вывода, как мне добавить текст «Вывод» над блоком вывода? Аналогично, если в чанке несколько блоков кода / выходных данных.

...